javax.net.ssl

Class SSLContext

public class SSLContext extends Object

A "meta-factory" for protocol-specific socket and server socket factories. This class serves as a clearinghouse for socket factories and cached session contexts for a particular protocol, such as SSLv3.
Constructor Summary
protected SSLContext(SSLContextSpi ctxSpi, Provider provider, String protocol)
Create a new SSL context.
Method Summary
SSLEnginecreateSSLEngine()
Creates a new {@link SSLEngine} for this context.
SSLEnginecreateSSLEngine(String host, int port)
Creates a new {@link SSLEngine} for this context, with a given host name and port number.
SSLSessionContextgetClientSessionContext()
Returns the set of SSL contexts available for client connections.
static SSLContextgetInstance(String protocol)
Get an instance of a context for the specified protocol from the first provider that implements it.
static SSLContextgetInstance(String protocol, String provider)
Get an instance of a context for the specified protocol from the named provider.
static SSLContextgetInstance(String protocol, Provider provider)
Get an instance of a context for the specified protocol from the specified provider.
StringgetProtocol()
Returns the protocol name of this context.
ProvidergetProvider()
Returns the provider of this implementation.
SSLSessionContextgetServerSessionContext()
Returns the set of SSL contexts available for server connections.
SSLServerSocketFactorygetServerSocketFactory()
Returns the factory for server SSL sockets.
SSLSocketFactorygetSocketFactory()
Returns the factory for client SSL sockets.
voidinit(KeyManager[] keyManagers, TrustManager[] trustManagers, SecureRandom random)
Initializes this context and prepares it for producing socket factories.

Constructor Detail

SSLContext

protected SSLContext(SSLContextSpi ctxSpi, Provider provider, String protocol)
Create a new SSL context.

Parameters: ctxSpi The context engine. provider The provider of the implementation. protocol The name of the SSL protocol.

Method Detail

createSSLEngine

public final SSLEngine createSSLEngine()
Creates a new {@link SSLEngine} for this context.

Returns: The new SSLEngine.

Since: 1.5

createSSLEngine

public final SSLEngine createSSLEngine(String host, int port)
Creates a new {@link SSLEngine} for this context, with a given host name and port number.

Parameters: host The local host name. port The local port number.

Returns: The new SSLEngine.

Since: 1.5

getClientSessionContext

public final SSLSessionContext getClientSessionContext()
Returns the set of SSL contexts available for client connections.

Returns: The set of SSL contexts available for client connections.

getInstance

public static final SSLContext getInstance(String protocol)
Get an instance of a context for the specified protocol from the first provider that implements it.

Parameters: protocol The name of the protocol to get a context for.

Returns: The new context.

Throws: NoSuchAlgorithmException If no provider implements the given protocol. IllegalArgumentException if protocol is null or is an empty string.

getInstance

public static final SSLContext getInstance(String protocol, String provider)
Get an instance of a context for the specified protocol from the named provider.

Parameters: protocol The name of the protocol to get a context for. provider The name of the provider to get the implementation from.

Returns: The new context.

Throws: 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.

getInstance

public static final SSLContext getInstance(String protocol, Provider provider)
Get an instance of a context for the specified protocol from the specified provider.

Parameters: protocol The name of the protocol to get a context for. provider The name of the provider to get the implementation from.

Returns: The new context.

Throws: 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.

getProtocol

public final String getProtocol()
Returns the protocol name of this context.

Returns: The protocol name of this context.

getProvider

public final Provider getProvider()
Returns the provider of this implementation.

Returns: The provider of this implementation.

getServerSessionContext

public final SSLSessionContext getServerSessionContext()
Returns the set of SSL contexts available for server connections.

Returns: The set of SSL contexts available for server connections.

getServerSocketFactory

public final SSLServerSocketFactory getServerSocketFactory()
Returns the factory for server SSL sockets.

Returns: The factory for server SSL sockets.

getSocketFactory

public final SSLSocketFactory getSocketFactory()
Returns the factory for client SSL sockets.

Returns: The factory for client SSL sockets.

init

public final void init(KeyManager[] keyManagers, TrustManager[] trustManagers, SecureRandom random)
Initializes this context and prepares it for producing socket factories. All of the parameters are optional; default values are used if left unspecified.

Parameters: keyManagers The set of key managers to use. trustManagers The set of trust managers to use. random A source of random bits to use.

Throws: KeyManagementException If initialization fails.