The SecureCacheResponse Class in Java represents a cache response originally retrieved through secure means.
Syntax: Class Declaration
public abstract class SecureCacheResponse extends CacheResponse
The constructor for this class is as follows
SecureCacheResponse()
Now, the methods of this class are as follows:
| Method | Description |
|---|---|
| getCipherSuite() | This method is used to return the cipher suite in use on the original connection that retrieved the network resource. |
| getLocalCertificateChain() | This method is used to return the certificate chain that was sent to the server during handshaking of the original connection that retrieved the network resource. |
| getLocalPrincipal() | This method is used to return the principal that was sent to the server during handshaking in the original connection that retrieved the network resource. |
| getPeerPrincipal() | This method is used to return the server’s principal which was established as part of defining the session during the original connection that retrieved the network resource. |
| getServerCertificateChain() | This method is used to return the server’s certificate chain, which was established as part of defining the session in the original connection that retrieved the network resource, from the cache. |
Example:
Java
// Java program to demonstrate SecureCacheResponse class// Implementation and its methods  // Importing IOException and InputStream classes from// java.io packageimport java.io.IOException;import java.io.InputStream;// Importing java.net package for network linkingimport java.net.*;// Importing classes from java.security package to provide// security framework to classes and interfacesimport java.security.Principal;import java.security.cert.Certificate;// Importing Map and List classes from java.util packageimport java.util.List;import java.util.Map;// Importing class when peer not authenticatedimport javax.net.ssl.SSLPeerUnverifiedException;  // Main class// JavaSecureCacheResponsepublic class GFG {      // Method 1    // Main driver method    public static void main(String args[]) throws Exception    {          // Creating an final object of Principal class        final Principal gfgPrincipal = new Principal() {            // Method 2            public String getName()            {                  // As it is simply retrieving names                return null;            }        };          // Creating an object of this class        // (SecureCacheResponse)        final SecureCacheResponse secureCacheResponse            = new SecureCacheResponse() {                  // Method 3                  // To get the name of the cipher suite                  public String getCipherSuite()                  {                        // Returning the name of the cipher                      // suite negotiated during this                      // handshake This message will be                      // displayed on console                      return "Connection established";                  }                    // Method 4                  // getLocalCertificateChain() method                  public List<Certificate>                  getLocalCertificateChain()                  {                      return null;                  }                    // Method 5                  public List<Certificate>                  getServerCertificateChain()                      throws SSLPeerUnverifiedException                  {                        // Returning peer certificate chain                      // associated with the ssl socket                      return null;                  }                    // Method 6                  // getPeerPrincipal() method                  public Principal getPeerPrincipal()                      throws SSLPeerUnverifiedException                  {                      return gfgPrincipal;                  }                    // Method 7                  // getLocalPrincipal() method                  public Principal getLocalPrincipal()                  {                      return gfgPrincipal;                  }                    // Method 8                  public Map<String, List<String> >                  getHeaders() throws IOException                  {                      return null;                  }                    // Method 9                  public InputStream getBody()                      throws IOException                  {                      return null;                  }              };          // Print and display commands which are returning        // information          // 1. The cipher suite in use on the original        // connection        System.out.println(            "getCipherSuite() method returns: "            + secureCacheResponse.getCipherSuite());          // 2. The server's principal which was recognized        // as a part of determining the session.        System.out.println(            "getPeerPrincipal() method returns: "            + secureCacheResponse.getPeerPrincipal());          // 3. An immutable List of Certificate representing        // the certificate chain that was sent to the        // server.          // 4. null, as no certificate chain was sent        System.out.println(            "getLocalCertificateChain() returns: "            + secureCacheResponse                  .getLocalCertificateChain());          // 5. Principal that was sent to the server        // during the handshaking of the original connection        System.out.println(            "getLocalPrincipal() method returns: "            + secureCacheResponse.getLocalPrincipal());    }} |
getCipherSuite() method returns: Connection established getPeerPrincipal() method returns: GFG$1@34a245ab getLocalCertificateChain() returns: null getLocalPrincipal() method returns: GFG$1@34a245ab
