Class JSSESupport

java.lang.Object
org.apache.tomcat.util.net.jsse.JSSESupport
All Implemented Interfaces:
SSLSessionManager, SSLSupport

public class JSSESupport extends Object implements SSLSupport, SSLSessionManager
JSSESupport. Concrete implementation class for JSSE Support classes.
Author:
EKR, Craig R. McClanahan Parts cribbed from JSSECertCompat Parts cribbed from CertificatesValve
  • Constructor Details

  • Method Details

    • getCipherSuite

      public String getCipherSuite() throws IOException
      Description copied from interface: SSLSupport
      The cipher suite being used on this connection.
      Specified by:
      getCipherSuite in interface SSLSupport
      Returns:
      The name of the cipher suite as returned by the SSL/TLS implementation
      Throws:
      IOException - If an error occurs trying to obtain the cipher suite
    • getLocalCertificateChain

      public X509Certificate[] getLocalCertificateChain()
      Description copied from interface: SSLSupport
      The server certificate chain (if any) that were sent to the peer.
      Specified by:
      getLocalCertificateChain in interface SSLSupport
      Returns:
      The certificate chain sent with the server certificate first, followed by those of any certificate authorities
    • getPeerCertificateChain

      public X509Certificate[] getPeerCertificateChain() throws IOException
      Description copied from interface: SSLSupport
      The client certificate chain (if any).
      Specified by:
      getPeerCertificateChain in interface SSLSupport
      Returns:
      The certificate chain presented by the client with the peer's certificate first, followed by those of any certificate authorities
      Throws:
      IOException - If an error occurs trying to obtain the certificate chain
    • getKeySize

      public Integer getKeySize() throws IOException
      Get the keysize. What we're supposed to put here is ill-defined by the Servlet spec (S 4.7 again). There are at least 4 potential values that might go here: (a) The size of the encryption key (b) The size of the MAC key (c) The size of the key-exchange key (d) The size of the signature key used by the server Unfortunately, all of these values are nonsensical.

      This returns the effective bits for the current cipher suite.

      Specified by:
      getKeySize in interface SSLSupport
      Returns:
      The effective key size for the current cipher suite
      Throws:
      IOException - If an error occurs trying to obtain the key size
    • getSessionId

      public String getSessionId() throws IOException
      Description copied from interface: SSLSupport
      The current session Id.
      Specified by:
      getSessionId in interface SSLSupport
      Returns:
      The current SSL/TLS session ID
      Throws:
      IOException - If an error occurs trying to obtain the session ID
    • setSession

      public void setSession(SSLSession session)
    • invalidateSession

      public void invalidateSession()
      Invalidate the session this support object is associated with.
      Specified by:
      invalidateSession in interface SSLSessionManager
    • getProtocol

      public String getProtocol() throws IOException
      Specified by:
      getProtocol in interface SSLSupport
      Returns:
      the protocol String indicating how the SSL socket was created e.g. TLSv1 or TLSv1.2 etc.
      Throws:
      IOException - If an error occurs trying to obtain the protocol information from the socket
    • getRequestedProtocols

      public String getRequestedProtocols() throws IOException
      Specified by:
      getRequestedProtocols in interface SSLSupport
      Returns:
      the list of SSL/TLS protocol versions requested by the client
      Throws:
      IOException - If an error occurs trying to obtain the client requested protocol information from the socket
    • getRequestedCiphers

      public String getRequestedCiphers() throws IOException
      Specified by:
      getRequestedCiphers in interface SSLSupport
      Returns:
      the list of SSL/TLS ciphers requested by the client
      Throws:
      IOException - If an error occurs trying to obtain the client request cipher information from the socket