AI-generated Key Takeaways
-
ExtendedSSLSession
extends theSSLSession
interface to support additional session attributes like signature algorithms and server names. -
It provides methods to retrieve the supported signature algorithms of both the local and peer sides for TLS 1.2 and later.
-
It allows access to the requested Server Name Indication (SNI) extension data, useful for server certificate selection and client endpoint identification.
-
Developers can use this class to gain insights into the SSL/TLS session beyond the standard
SSLSession
capabilities.
Extends the SSLSession
interface to support additional
session attributes.
Public Constructor Summary
Public Method Summary
abstract String[] |
getLocalSupportedSignatureAlgorithms()
Obtains an array of supported signature algorithms that the local side
is willing to use.
|
abstract String[] |
getPeerSupportedSignatureAlgorithms()
Obtains an array of supported signature algorithms that the peer is
able to use.
|
List<SNIServerName> |
getRequestedServerNames()
Obtains a
List containing all SNIServerName s
of the requested Server Name Indication (SNI) extension. |
Inherited Method Summary
Public Constructors
public ExtendedSSLSession ()
Public Methods
public abstract String[] getLocalSupportedSignatureAlgorithms ()
Obtains an array of supported signature algorithms that the local side is willing to use.
Note: this method is used to indicate to the peer which signature algorithms may be used for digital signatures in TLS 1.2. It is not meaningful for TLS versions prior to 1.2.
The signature algorithm name must be a standard Java Security name (such as "SHA1withRSA", "SHA256withECDSA", and so on). See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names.
Note: the local supported signature algorithms should conform to
the algorithm constraints specified by
getAlgorithmConstraints()
method in SSLParameters
.
Returns
- An array of supported signature algorithms, in descending order of preference. The return value is an empty array if no signature algorithm is supported.
public abstract String[] getPeerSupportedSignatureAlgorithms ()
Obtains an array of supported signature algorithms that the peer is able to use.
Note: this method is used to indicate to the local side which signature algorithms may be used for digital signatures in TLS 1.2. It is not meaningful for TLS versions prior to 1.2.
The signature algorithm name must be a standard Java Security name (such as "SHA1withRSA", "SHA256withECDSA", and so on). See Appendix A in the Java Cryptography Architecture API Specification & Reference for information about standard algorithm names.
Returns
- An array of supported signature algorithms, in descending order of preference. The return value is an empty array if the peer has not sent the supported signature algorithms.
public List<SNIServerName> getRequestedServerNames ()
Obtains a List
containing all SNIServerName
s
of the requested Server Name Indication (SNI) extension.
In server mode, unless the return List
is empty,
the server should use the requested server names to guide its
selection of an appropriate authentication certificate, and/or
other aspects of security policy.
In client mode, unless the return List
is empty,
the client should use the requested server names to guide its
endpoint identification of the peer's identity, and/or
other aspects of security policy.
Returns
- a non-null immutable list of
SNIServerName
s of the requested server name indications. The returned list may be empty if no server name indications were requested.
Throws
UnsupportedOperationException | if the underlying provider does not implement the operation |
---|