public class SSLContext extends Object
Modifier | Constructor and Description |
---|---|
protected |
SSLContext(SSLContextSpi ctxSpi,
Provider provider,
String protocol)
Create a new SSL context.
|
Modifier and Type | Method and Description |
---|---|
SSLEngine |
createSSLEngine()
Creates a new
SSLEngine for this context. |
SSLEngine |
createSSLEngine(String host,
int port)
Creates a new
SSLEngine for this context, with a given
host name and port number. |
SSLSessionContext |
getClientSessionContext()
Returns the set of SSL contexts available for client connections.
|
static SSLContext |
getInstance(String protocol)
Get an instance of a context for the specified protocol from the first
provider that implements it.
|
static SSLContext |
getInstance(String protocol,
Provider provider)
Get an instance of a context for the specified protocol from the specified
provider.
|
static SSLContext |
getInstance(String protocol,
String provider)
Get an instance of a context for the specified protocol from the named
provider.
|
String |
getProtocol()
Returns the protocol name of this context.
|
Provider |
getProvider()
Returns the provider of this implementation.
|
SSLSessionContext |
getServerSessionContext()
Returns the set of SSL contexts available for server connections.
|
SSLServerSocketFactory |
getServerSocketFactory()
Returns the factory for server SSL sockets.
|
SSLSocketFactory |
getSocketFactory()
Returns the factory for client SSL sockets.
|
void |
init(KeyManager[] keyManagers,
TrustManager[] trustManagers,
SecureRandom random)
Initializes this context and prepares it for producing socket
factories.
|
protected SSLContext(SSLContextSpi ctxSpi, Provider provider, String protocol)
ctxSpi
- The context engine.provider
- The provider of the implementation.protocol
- The name of the SSL protocol.public static final SSLContext getInstance(String protocol) throws NoSuchAlgorithmException
protocol
- The name of the protocol to get a context for.NoSuchAlgorithmException
- If no provider implements the given
protocol.IllegalArgumentException
- if protocol
is
null
or is an empty string.public static final SSLContext getInstance(String protocol, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
protocol
- The name of the protocol to get a context for.provider
- The name of the provider to get the implementation from.NoSuchAlgorithmException
- If the provider does not implement the
given protocol.NoSuchProviderException
- If the named provider does not exist.IllegalArgumentException
- if either protocol
or
provider
is null
, or if
protocol
is an empty string.public static final SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException
protocol
- The name of the protocol to get a context for.provider
- The name of the provider to get the implementation from.NoSuchAlgorithmException
- If the provider does not implement the
given protocol.IllegalArgumentException
- if either protocol
or
provider
is null
, or if
protocol
is an empty string.public final SSLEngine createSSLEngine()
SSLEngine
for this context.public final SSLEngine createSSLEngine(String host, int port)
SSLEngine
for this context, with a given
host name and port number.host
- The local host name.port
- The local port number.public final SSLSessionContext getClientSessionContext()
public final String getProtocol()
public final Provider getProvider()
public final SSLSessionContext getServerSessionContext()
public final SSLServerSocketFactory getServerSocketFactory()
public final SSLSocketFactory getSocketFactory()
public final void init(KeyManager[] keyManagers, TrustManager[] trustManagers, SecureRandom random) throws KeyManagementException
keyManagers
- The set of key managers to use.trustManagers
- The set of trust managers to use.random
- A source of random bits to use.KeyManagementException
- If initialization fails.