Module java.base
Package java.net

## Class SecureCacheResponse

- java.lang.Object
- - java.net.CacheResponse
  - - java.net.SecureCacheResponse

    public abstract class SecureCacheResponse
    extends CacheResponse

Represents a cache response originally retrieved through secure means, such as TLS.

Since:
  1.5

### Constructor Summary

Constructors
`SecureCacheResponse()`

### Method Summary

All Methods Instance Methods Abstract Methods
`abstract String` `getCipherSuite()` Returns the cipher suite in use on the original connection that retrieved the network resource.
`abstract List<Certificate>` `getLocalCertificateChain()` Returns the certificate chain that were sent to the server during handshaking of the original connection that retrieved the network resource.
`abstract Principal` `getLocalPrincipal()` Returns the principal that was sent to the server during handshaking in the original connection that retrieved the network resource.
`abstract Principal` `getPeerPrincipal()` Returns the server's principal which was established as part of defining the session during the original connection that retrieved the network resource.
`abstract List<Certificate>` `getServerCertificateChain()` Returns the server's certificate chain, which was established as part of defining the session in the original connection that retrieved the network resource, from cache.

### Methods declared in class java.net.CacheResponse

`getBody, getHeaders`

### Methods declared in class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### SecureCacheResponse

    public SecureCacheResponse()

### Method Detail

#### getCipherSuite

    public abstract String getCipherSuite()

Returns the cipher suite in use on the original connection that retrieved the network resource.

Returns:
  a string representing the cipher suite

#### getLocalCertificateChain

    public abstract List<Certificate> getLocalCertificateChain()

Returns the certificate chain that were sent to the server during handshaking of the original connection that retrieved the network resource. Note: This method is useful only when using certificate-based cipher suites.

Returns:
  an immutable List of Certificate representing the certificate chain that was sent to the server. If no certificate chain was sent, null will be returned.
See Also:
  `getLocalPrincipal()`

#### getServerCertificateChain

    public abstract List<Certificate> getServerCertificateChain()
                                                         throws SSLPeerUnverifiedException

Returns the server's certificate chain, which was established as part of defining the session in the original connection that retrieved the network resource, from cache. Note: This method can be used only when using certificate-based cipher suites; using it with non-certificate-based cipher suites, such as Kerberos, will throw an SSLPeerUnverifiedException.

Returns:
  an immutable List of Certificate representing the server's certificate chain.
Throws:
  `SSLPeerUnverifiedException` - if the peer is not verified.
See Also:
  `getPeerPrincipal()`

#### getPeerPrincipal

    public abstract Principal getPeerPrincipal()
                                        throws SSLPeerUnverifiedException

Returns the server's principal which was established as part of defining the session during the original connection that retrieved the network resource.

Returns:
  the server's principal. Returns an X500Principal of the end-entity certiticate for X509-based cipher suites, and KerberosPrincipal for Kerberos cipher suites.
Throws:
  `SSLPeerUnverifiedException` - if the peer was not verified.
See Also:
  `getServerCertificateChain()`, `getLocalPrincipal()`

#### getLocalPrincipal

    public abstract Principal getLocalPrincipal()

Returns the principal that was sent to the server during handshaking in the original connection that retrieved the network resource.

Returns:
  the principal sent to the server. Returns an X500Principal of the end-entity certificate for X509-based cipher suites, and KerberosPrincipal for Kerberos cipher suites. If no principal was sent, then null is returned.
See Also:
  `getLocalCertificateChain()`, `getPeerPrincipal()`