Package org.apache.tomcat.util.net
Class AprSSLSupport
- java.lang.Object
-
- org.apache.tomcat.util.net.AprSSLSupport
-
- All Implemented Interfaces:
SSLSupport
public class AprSSLSupport extends Object implements SSLSupport
Implementation of SSLSupport for APR.TODO: Add a mechanism (or figure out how to use what we already have) to invalidate the session.
-
-
Field Summary
-
Fields inherited from interface org.apache.tomcat.util.net.SSLSupport
CERTIFICATE_KEY, CIPHER_SUITE_KEY, KEY_SIZE_KEY, PROTOCOL_VERSION_KEY, REQUESTED_CIPHERS_KEY, REQUESTED_PROTOCOL_VERSIONS_KEY, SESSION_ID_KEY, SESSION_MGR
-
-
Constructor Summary
Constructors Constructor Description AprSSLSupport(AprEndpoint.AprSocketWrapper socketWrapper, String clientCertProvider)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetCipherSuite()The cipher suite being used on this connection.IntegergetKeySize()Get the keysize.X509Certificate[]getPeerCertificateChain()The client certificate chain (if any).StringgetProtocol()StringgetRequestedCiphers()StringgetRequestedProtocols()StringgetSessionId()The current session Id.
-
-
-
Constructor Detail
-
AprSSLSupport
public AprSSLSupport(AprEndpoint.AprSocketWrapper socketWrapper, String clientCertProvider)
-
-
Method Detail
-
getCipherSuite
public String getCipherSuite() throws IOException
Description copied from interface:SSLSupportThe cipher suite being used on this connection.- Specified by:
getCipherSuitein interfaceSSLSupport- 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
-
getPeerCertificateChain
public X509Certificate[] getPeerCertificateChain() throws IOException
Description copied from interface:SSLSupportThe client certificate chain (if any).- Specified by:
getPeerCertificateChainin interfaceSSLSupport- 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
Description copied from interface:SSLSupportGet 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.- Specified by:
getKeySizein interfaceSSLSupport- 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:SSLSupportThe current session Id.- Specified by:
getSessionIdin interfaceSSLSupport- Returns:
- The current SSL/TLS session ID
- Throws:
IOException- If an error occurs trying to obtain the session ID
-
getProtocol
public String getProtocol() throws IOException
- Specified by:
getProtocolin interfaceSSLSupport- 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:
getRequestedProtocolsin interfaceSSLSupport- 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:
getRequestedCiphersin interfaceSSLSupport- 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
-
-