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

public abstract Class SSLContextImpl

Additional top-level classes in compilation unit: AbstractTrustManagerWrapper, DummyX509TrustManager, AbstractKeyManagerWrapper, DummyX509KeyManager.

extends SSLContextSpi
Class Inheritance
Known Direct Subclasses
sun.security.ssl.SSLContextImpl.AbstractTLSContext, sun.security.ssl.SSLContextImpl.AbstractDTLSContext
Imports
java.io.FileInputStream, java.net.Socket, java.security.*, java.security.cert.*, java.util.*, java.util.concurrent.locks.ReentrantLock, java.util.stream.Collectors, javax.net.ssl.*, sun.security.provider.certpath.AlgorithmChecker, sun.security.ssl.CompressedCertificate.CompCertCacheKey, .SSLAlgorithmConstraints.SIGNATURE_CONSTRAINTS_MODE, sun.security.util.Cache, sun.security.validator.Validator

Implementation of an SSLContext.

Implementation Note

Instances of this class and the child classes are immutable, except that the context initialization (SSLContext.init()) may reset the key, trust managers and source of secure random.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private abstract static class
private abstract static class
private static class
private static class
private static class
private static class
public static class
private static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class
public static class

Field Summary

Modifier and TypeField and Description
private final SSLSessionContextImpl
private static final Collection<CipherSuite>
private final boolean
private final Cache<CompressedCertificate.CompCertCacheKey, byte[]>
private final ReentrantLock
private final EphemeralKeyManager
private volatile HelloCookieManager.Builder
private boolean
private X509ExtendedKeyManager
private SecureRandom
private final SSLSessionContextImpl
private static final Collection<CipherSuite>
private final boolean
private volatile StatusResponseManager
private X509TrustManager

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
private X509ExtendedKeyManager
private X509TrustManager
pack-priv abstract SSLEngine
pack-priv abstract SSLEngine
createSSLEngineImpl(String host, int port)

protected SSLEngine
engineCreateSSLEngine()

Implements abstract javax.net.ssl.SSLContextSpi.engineCreateSSLEngine.

Creates a new SSLEngine using this context.

protected SSLEngine
engineCreateSSLEngine(String host, int port)

Implements abstract javax.net.ssl.SSLContextSpi.engineCreateSSLEngine.

Creates a SSLEngine using this context.

protected SSLSessionContext
engineGetClientSessionContext()

Implements abstract javax.net.ssl.SSLContextSpi.engineGetClientSessionContext.

Returns a client SSLSessionContext object for this context.

protected SSLSessionContext
engineGetServerSessionContext()

Implements abstract javax.net.ssl.SSLContextSpi.engineGetServerSessionContext.

Returns a server SSLSessionContext object for this context.

protected SSLServerSocketFactory
engineGetServerSocketFactory()

Implements abstract javax.net.ssl.SSLContextSpi.engineGetServerSocketFactory.

Returns a ServerSocketFactory object for this context.

protected SSLSocketFactory
engineGetSocketFactory()

Implements abstract javax.net.ssl.SSLContextSpi.engineGetSocketFactory.

Returns a SocketFactory object for this context.

protected void
engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)

Implements abstract javax.net.ssl.SSLContextSpi.engineInit.

Initializes this context.

private static List<CipherSuite>
private static List<CipherSuite>
private static List<CipherSuite>
private static List<ProtocolVersion>
getAvailableProtocols(ProtocolVersion[] protocolCandidates)

pack-priv abstract List<CipherSuite>
pack-priv abstract List<ProtocolVersion>
pack-priv Cache<CompressedCertificate.CompCertCacheKey, byte[]>
private static Collection<CipherSuite>
pack-priv List<CipherSuite>
getDefaultCipherSuites(boolean roleIsServer)

pack-priv List<ProtocolVersion>
getDefaultProtocolVersions(boolean roleIsServer)

pack-priv EphemeralKeyManager
pack-priv HelloCookieManager
pack-priv SecureRandom
pack-priv abstract List<CipherSuite>
pack-priv abstract List<ProtocolVersion>
pack-priv StatusResponseManager
pack-priv abstract List<CipherSuite>
pack-priv abstract List<ProtocolVersion>
pack-priv X509ExtendedKeyManager
pack-priv X509TrustManager
pack-priv boolean
isDefaultCipherSuiteList(List<CipherSuite> cipherSuites)

Return whether a protocol list is the original default enabled protocols.

pack-priv boolean
isDefaultProtocolVersions(List<ProtocolVersion> protocols)

Return whether a protocol list is the original default enabled protocols.

pack-priv abstract boolean
pack-priv boolean

Returns:

true if stapling has been enabled for the specified role, false otherwise.
isStaplingEnabled
(boolean
true if the caller is operating in a client side role, false if acting as a server.
isClient
)

Return whether client or server side stapling has been enabled for this SSLContextImpl

public boolean
private static void
logSuites(String message, List<ProtocolVersion> protocols, Collection<?> suites)

Inherited from javax.net.ssl.SSLContextSpi:
engineGetDefaultSSLParametersengineGetSupportedSSLParameters