javax.net.ssl

Class SSLContext


public class SSLContext
extends java.lang.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.
Author:
Casey Marshall (rsdio@metastatic.org)

Constructor Summary

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

Method Summary

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.

Constructor Details

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 Details

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)
            throws NoSuchAlgorithmException
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.

getInstance

public static final SSLContext getInstance(String protocol,
                                           Provider provider)
            throws NoSuchAlgorithmException
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.

getInstance

public static final SSLContext getInstance(String protocol,
                                           String provider)
            throws NoSuchAlgorithmException,
                   NoSuchProviderException
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.

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)
            throws KeyManagementException
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.