Package org.apache.tomcat.util.net
Interface SSLSupport
-
- All Known Implementing Classes:
AprSSLSupport
,JSSESupport
public interface SSLSupport
Defines an interface to interact with SSL sessions.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CERTIFICATE_KEY
The Request attribute key for the client certificate chain.static java.lang.String
CIPHER_SUITE_KEY
The Request attribute key for the cipher suite.static java.lang.String
KEY_SIZE_KEY
The Request attribute key for the key size.static java.lang.String
PROTOCOL_VERSION_KEY
The request attribute key under which the String indicating the protocol that created the SSL socket is recorded - e.g.static java.lang.String
REQUESTED_CIPHERS_KEY
The request attribute key under which the String indicating the ciphers requested by the client are recorded.static java.lang.String
REQUESTED_PROTOCOL_VERSIONS_KEY
The request attribute key under which the String indicating the protocols requested by the client are recorded.static java.lang.String
SESSION_ID_KEY
The Request attribute key for the session id.static java.lang.String
SESSION_MGR
The request attribute key for the session manager.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.lang.String
getCipherSuite()
The cipher suite being used on this connection.java.lang.Integer
getKeySize()
Get the key size.default java.security.cert.X509Certificate[]
getLocalCertificateChain()
The server certificate chain (if any) that were sent to the peer.java.security.cert.X509Certificate[]
getPeerCertificateChain()
The client certificate chain (if any).java.lang.String
getProtocol()
java.lang.String
getRequestedCiphers()
java.lang.String
getRequestedProtocols()
java.lang.String
getSessionId()
The current session Id.
-
-
-
Field Detail
-
CIPHER_SUITE_KEY
static final java.lang.String CIPHER_SUITE_KEY
The Request attribute key for the cipher suite.- See Also:
- Constant Field Values
-
KEY_SIZE_KEY
static final java.lang.String KEY_SIZE_KEY
The Request attribute key for the key size.- See Also:
- Constant Field Values
-
CERTIFICATE_KEY
static final java.lang.String CERTIFICATE_KEY
The Request attribute key for the client certificate chain.- See Also:
- Constant Field Values
-
SESSION_ID_KEY
static final java.lang.String SESSION_ID_KEY
The Request attribute key for the session id. This one is a Tomcat extension to the Servlet spec.- See Also:
- Constant Field Values
-
SESSION_MGR
static final java.lang.String SESSION_MGR
The request attribute key for the session manager. This one is a Tomcat extension to the Servlet spec.- See Also:
- Constant Field Values
-
PROTOCOL_VERSION_KEY
static final java.lang.String PROTOCOL_VERSION_KEY
The request attribute key under which the String indicating the protocol that created the SSL socket is recorded - e.g. TLSv1 or TLSv1.2 etc.- See Also:
- Constant Field Values
-
REQUESTED_CIPHERS_KEY
static final java.lang.String REQUESTED_CIPHERS_KEY
The request attribute key under which the String indicating the ciphers requested by the client are recorded.- See Also:
- Constant Field Values
-
REQUESTED_PROTOCOL_VERSIONS_KEY
static final java.lang.String REQUESTED_PROTOCOL_VERSIONS_KEY
The request attribute key under which the String indicating the protocols requested by the client are recorded.- See Also:
- Constant Field Values
-
-
Method Detail
-
getCipherSuite
java.lang.String getCipherSuite() throws java.io.IOException
The cipher suite being used on this connection.- Returns:
- The name of the cipher suite as returned by the SSL/TLS implementation
- Throws:
java.io.IOException
- If an error occurs trying to obtain the cipher suite
-
getPeerCertificateChain
java.security.cert.X509Certificate[] getPeerCertificateChain() throws java.io.IOException
The client certificate chain (if any).- Returns:
- The certificate chain presented by the client with the peer's certificate first, followed by those of any certificate authorities
- Throws:
java.io.IOException
- If an error occurs trying to obtain the certificate chain
-
getLocalCertificateChain
default java.security.cert.X509Certificate[] getLocalCertificateChain()
The server certificate chain (if any) that were sent to the peer.- Returns:
- The certificate chain sent with the server certificate first, followed by those of any certificate authorities
-
getKeySize
java.lang.Integer getKeySize() throws java.io.IOException
Get the key size. 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.- Returns:
- The effective key size for the current cipher suite
- Throws:
java.io.IOException
- If an error occurs trying to obtain the key size
-
getSessionId
java.lang.String getSessionId() throws java.io.IOException
The current session Id.- Returns:
- The current SSL/TLS session ID
- Throws:
java.io.IOException
- If an error occurs trying to obtain the session ID
-
getProtocol
java.lang.String getProtocol() throws java.io.IOException
- Returns:
- the protocol String indicating how the SSL socket was created e.g. TLSv1 or TLSv1.2 etc.
- Throws:
java.io.IOException
- If an error occurs trying to obtain the protocol information from the socket
-
getRequestedProtocols
java.lang.String getRequestedProtocols() throws java.io.IOException
- Returns:
- the list of SSL/TLS protocol versions requested by the client
- Throws:
java.io.IOException
- If an error occurs trying to obtain the client requested protocol information from the socket
-
getRequestedCiphers
java.lang.String getRequestedCiphers() throws java.io.IOException
- Returns:
- the list of SSL/TLS ciphers requested by the client
- Throws:
java.io.IOException
- If an error occurs trying to obtain the client request cipher information from the socket
-
-