APIdia Launch Partner
Top Fields Constructors Methods
sun.security.ssl

pack-priv abstract Class HandshakeContext

extends Object
implements ConnectionContext
Class Inheritance
All Implemented Interfaces
sun.security.ssl.ConnectionContext
Known Direct Subclasses
sun.security.ssl.PostHandshakeContext, sun.security.ssl.ServerHandshakeContext, sun.security.ssl.ClientHandshakeContext
Imports
java.io.IOException, java.nio.BufferOverflowException, .BufferUnderflowException, .ByteBuffer, java.security.AlgorithmConstraints, .CryptoPrimitive, java.util.*, .AbstractMap.SimpleImmutableEntry, java.util.function.Function, javax.crypto.SecretKey, javax.net.ssl.SNIServerName, .SSLHandshakeException, javax.security.auth.x500.X500Principal, sun.security.ssl.NamedGroup.NamedGroupSpec

Field Summary

Modifier and TypeField and Description
pack-priv final List<CipherSuite>
pack-priv final List<ProtocolVersion>
pack-priv final SSLAlgorithmConstraints
pack-priv static final boolean
pack-priv static final boolean
pack-priv String
pack-priv SecretKey
pack-priv SecretKey
pack-priv Map.Entry<Integer, Function<byte[], byte[]>>
pack-priv Map<Integer, Function<byte[], byte[]>>
pack-priv byte[]
pack-priv RandomCookie
pack-priv int
pack-priv List<NamedGroup>
pack-priv final TransportContext
pack-priv final Queue<Map.Entry<Byte, ByteBuffer>>
pack-priv volatile Exception
pack-priv LinkedHashMap<Byte, SSLConsumer>
pack-priv final List<SSLCredentials>
pack-priv final Map<SSLExtension, SSLExtension.SSLExtensionSpec>
pack-priv boolean
pack-priv final HandshakeHash
pack-priv SSLKeyDerivation
pack-priv SSLKeyExchange
pack-priv final HandshakeOutStream
pack-priv final List<SSLPossession>
pack-priv final HashMap<Byte, HandshakeProducer>
pack-priv SSLSessionImpl
pack-priv boolean
pack-priv boolean
pack-priv List<SignatureScheme>
pack-priv List<SignatureScheme>
pack-priv int
pack-priv final ProtocolVersion
pack-priv CipherSuite
pack-priv ProtocolVersion
pack-priv SNIServerName
pack-priv List<SignatureScheme>
pack-priv List<SignatureScheme>
pack-priv X500Principal[]
pack-priv List<SNIServerName>
pack-priv SSLSessionImpl
pack-priv RandomCookie
pack-priv NamedGroup
pack-priv final SSLConfiguration
pack-priv final SSLContextImpl
pack-priv boolean
pack-priv boolean
pack-priv volatile boolean

Constructor Summary

AccessConstructor and Description
protected
protected
HandshakeContext(TransportContext conContext)

Constructor for PostHandshakeContext

Method Summary

Modifier and TypeMethod and Description
pack-priv void
dispatch(byte handshakeType, Plaintext plaintext)

pack-priv void
dispatch(byte handshakeType, ByteBuffer fragment)

private static List<CipherSuite>
getActiveCipherSuites(SSLConfiguration sslConfig, List<ProtocolVersion> enabledProtocols, AlgorithmConstraints algorithmConstraints)

private static List<ProtocolVersion>
getActiveProtocols(SSLConfiguration sslConfig, AlgorithmConstraints algorithmConstraints)

pack-priv static byte
getHandshakeType(TransportContext conContext, Plaintext plaintext)

Parse the handshake record and return the contentType

pack-priv List<SNIServerName>
private void
private static boolean
isActivatable(SSLConfiguration sslConfig, CipherSuite suite, AlgorithmConstraints algorithmConstraints, Map<NamedGroup.NamedGroupSpec, Boolean> cachedStatus)

pack-priv boolean
isNegotiable(CipherSuite cs)

Check if the given cipher suite is enabled and available within the current active cipher suites.

pack-priv static final boolean
isNegotiable(List<CipherSuite> proposed, CipherSuite cs)

Check if the given cipher suite is enabled and available within the proposed cipher suite list.

pack-priv static final boolean
isNegotiable(List<CipherSuite> proposed, ProtocolVersion protocolVersion, CipherSuite cs)

Check if the given cipher suite is enabled and available within the proposed cipher suite list and specific protocol version.

pack-priv boolean
isNegotiable(ProtocolVersion protocolVersion)

Check if the given protocol version is enabled and available.

pack-priv abstract void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

activeCipherSuitesback to summary
pack-priv final List<CipherSuite> activeCipherSuites
activeProtocolsback to summary
pack-priv final List<ProtocolVersion> activeProtocols
algorithmConstraintsback to summary
pack-priv final SSLAlgorithmConstraints algorithmConstraints
allowLegacyHelloMessagesback to summary
pack-priv static final boolean allowLegacyHelloMessages
allowUnsafeRenegotiationback to summary
pack-priv static final boolean allowUnsafeRenegotiation
applicationProtocolback to summary
pack-priv String applicationProtocol
baseReadSecretback to summary
pack-priv SecretKey baseReadSecret
baseWriteSecretback to summary
pack-priv SecretKey baseWriteSecret
certDeflaterback to summary
pack-priv Map.Entry<Integer, Function<byte[], byte[]>> certDeflater
certInflatersback to summary
pack-priv Map<Integer, Function<byte[], byte[]>> certInflaters
certRequestContextback to summary
pack-priv byte[] certRequestContext
clientHelloRandomback to summary
pack-priv RandomCookie clientHelloRandom
clientHelloVersionback to summary
pack-priv int clientHelloVersion
clientRequestedNamedGroupsback to summary
pack-priv List<NamedGroup> clientRequestedNamedGroups
conContextback to summary
pack-priv final TransportContext conContext
delegatedActionsback to summary
pack-priv final Queue<Map.Entry<Byte, ByteBuffer>> delegatedActions
delegatedThrownback to summary
pack-priv volatile Exception delegatedThrown
handshakeConsumersback to summary
pack-priv LinkedHashMap<Byte, SSLConsumer> handshakeConsumers
handshakeCredentialsback to summary
pack-priv final List<SSLCredentials> handshakeCredentials
handshakeExtensionsback to summary
pack-priv final Map<SSLExtension, SSLExtension.SSLExtensionSpec> handshakeExtensions
handshakeFinishedback to summary
pack-priv boolean handshakeFinished
handshakeHashback to summary
pack-priv final HandshakeHash handshakeHash
handshakeKeyDerivationback to summary
pack-priv SSLKeyDerivation handshakeKeyDerivation
handshakeKeyExchangeback to summary
pack-priv SSLKeyExchange handshakeKeyExchange
handshakeOutputback to summary
pack-priv final HandshakeOutStream handshakeOutput
handshakePossessionsback to summary
pack-priv final List<SSLPossession> handshakePossessions
handshakeProducersback to summary
pack-priv final HashMap<Byte, HandshakeProducer> handshakeProducers
handshakeSessionback to summary
pack-priv SSLSessionImpl handshakeSession
isResumptionback to summary
pack-priv boolean isResumption
kickstartMessageDeliveredback to summary
pack-priv boolean kickstartMessageDelivered
localSupportedCertSignAlgsback to summary
pack-priv List<SignatureScheme> localSupportedCertSignAlgs
localSupportedSignAlgsback to summary
pack-priv List<SignatureScheme> localSupportedSignAlgs
maxFragmentLengthback to summary
pack-priv int maxFragmentLength
maximumActiveProtocolback to summary
pack-priv final ProtocolVersion maximumActiveProtocol
negotiatedCipherSuiteback to summary
pack-priv CipherSuite negotiatedCipherSuite
negotiatedProtocolback to summary
pack-priv ProtocolVersion negotiatedProtocol
negotiatedServerNameback to summary
pack-priv SNIServerName negotiatedServerName
peerRequestedCertSignSchemesback to summary
pack-priv List<SignatureScheme> peerRequestedCertSignSchemes
peerRequestedSignatureSchemesback to summary
pack-priv List<SignatureScheme> peerRequestedSignatureSchemes
peerSupportedAuthoritiesback to summary
pack-priv X500Principal[] peerSupportedAuthorities
requestedServerNamesback to summary
pack-priv List<SNIServerName> requestedServerNames
resumingSessionback to summary
pack-priv SSLSessionImpl resumingSession
serverHelloRandomback to summary
pack-priv RandomCookie serverHelloRandom
serverSelectedNamedGroupback to summary
pack-priv NamedGroup serverSelectedNamedGroup
sslConfigback to summary
pack-priv final SSLConfiguration sslConfig
sslContextback to summary
pack-priv final SSLContextImpl sslContext
staplingActiveback to summary
pack-priv boolean staplingActive
statelessResumptionback to summary
pack-priv boolean statelessResumption
taskDelegatedback to summary
pack-priv volatile boolean taskDelegated

Constructor Detail

HandshakeContextback to summary
protected HandshakeContext(SSLContextImpl sslContext, TransportContext conContext) throws IOException
HandshakeContextback to summary
protected HandshakeContext(TransportContext conContext)

Constructor for PostHandshakeContext

Method Detail

dispatchback to summary
pack-priv void dispatch(byte handshakeType, Plaintext plaintext) throws IOException
dispatchback to summary
pack-priv void dispatch(byte handshakeType, ByteBuffer fragment) throws IOException
getActiveCipherSuitesback to summary
private static List<CipherSuite> getActiveCipherSuites(SSLConfiguration sslConfig, List<ProtocolVersion> enabledProtocols, AlgorithmConstraints algorithmConstraints)
getActiveProtocolsback to summary
private static List<ProtocolVersion> getActiveProtocols(SSLConfiguration sslConfig, AlgorithmConstraints algorithmConstraints)
getHandshakeTypeback to summary
pack-priv static byte getHandshakeType(TransportContext conContext, Plaintext plaintext) throws IOException

Parse the handshake record and return the contentType

getRequestedServerNamesback to summary
pack-priv List<SNIServerName> getRequestedServerNames()
initializeback to summary
private void initialize()
isActivatableback to summary
private static boolean isActivatable(SSLConfiguration sslConfig, CipherSuite suite, AlgorithmConstraints algorithmConstraints, Map<NamedGroup.NamedGroupSpec, Boolean> cachedStatus)
isNegotiableback to summary
pack-priv boolean isNegotiable(CipherSuite cs)

Check if the given cipher suite is enabled and available within the current active cipher suites. Does not check if the required server certificates are available.

isNegotiableback to summary
pack-priv static final boolean isNegotiable(List<CipherSuite> proposed, CipherSuite cs)

Check if the given cipher suite is enabled and available within the proposed cipher suite list. Does not check if the required server certificates are available.

isNegotiableback to summary
pack-priv static final boolean isNegotiable(List<CipherSuite> proposed, ProtocolVersion protocolVersion, CipherSuite cs)

Check if the given cipher suite is enabled and available within the proposed cipher suite list and specific protocol version. Does not check if the required server certificates are available.

isNegotiableback to summary
pack-priv boolean isNegotiable(ProtocolVersion protocolVersion)

Check if the given protocol version is enabled and available.

kickstartback to summary
pack-priv abstract void kickstart() throws IOException