This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.net.ssl
class SSLContext

java.lang.Object extended by javax.net.ssl.SSLContext

Most common way to construct:

SSLContext sc = SSLContext.getInstance("SSL");

Based on 275 examples


public class SSLContext
extends Object

Instances of this class represent a secure socket protocol implementation which acts as a factory for secure socket factories or SSLEngines. This class is initialized with an optional set of key and trust managers and source of secure random bytes.

See Also (auto-generated):

SSLSocketFactory

KeyStore

HttpsURLConnection


Constructor Summary
protected
SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)

          Creates an SSLContext object.
 
Method Summary
 SSLEngine

          Creates a new SSLEngine using this context.
 SSLEngine
createSSLEngine(String peerHost, int peerPort)

          Creates a new SSLEngine using this context using advisory peer information.
 SSLSessionContext

          Returns the client session context, which represents the set of SSL sessions available for use during the handshake phase of client-side SSL sockets.
static SSLContext

          Generates a SSLContext object.
static SSLContext
getInstance(String protocol)

          Generates a SSLContext object that implements the specified secure socket protocol.
static SSLContext
getInstance(String protocol, Provider provider)

          Generates a SSLContext object that implements the specified secure socket protocol from the specified provider.
static SSLContext
getInstance(String protocol, String provider)

          Generates a SSLContext object that implements the specified secure socket protocol from the specified provider.
 String

          Returns the protocol name of this SSLContext object.
 Provider

          Returns the provider of this SSLContext object.
 SSLSessionContext

          Returns the server session context, which represents the set of SSL sessions available for use during the handshake phase of server-side SSL sockets.
 SSLServerSocketFactory

          Returns a ServerSocketFactory object for this context.
 SSLSocketFactory

          Returns a SocketFactory object for this context.
 void
init(KeyManager[] km, TrustManager[] tm, SecureRandom random)

          Initializes this context.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SSLContext

protected SSLContext(SSLContextSpi contextSpi,
                     Provider provider,
                     String protocol)
Creates an SSLContext object.

Parameters:
contextSpi - the delegate
provider - the provider
protocol - the protocol
Method Detail

createSSLEngine

public final SSLEngine createSSLEngine()
Creates a new SSLEngine using this context.

Applications using this factory method are providing no hints for an internal session reuse strategy. If hints are desired, {@link #createSSLEngine(String, int)} should be used instead.

Some cipher suites (such as Kerberos) require remote hostname information, in which case this factory method should not be used.

Returns:
the SSLEngine object

createSSLEngine

public final SSLEngine createSSLEngine(String peerHost,
                                       int peerPort)
Creates a new SSLEngine using this context using advisory peer information.

Applications using this factory method are providing hints for an internal session reuse strategy.

Some cipher suites (such as Kerberos) require remote hostname information, in which case peerHost needs to be specified.

Parameters:
peerHost - the non-authoritative name of the host
peerPort - the non-authoritative port
Returns:
the new SSLEngine object

getClientSessionContext

public final SSLSessionContext getClientSessionContext()
Returns the client session context, which represents the set of SSL sessions available for use during the handshake phase of client-side SSL sockets.

This context may be unavailable in some environments, in which case this method returns null. For example, when the underlying SSL provider does not provide an implementation of SSLSessionContext interface, this method returns null. A non-null session context is returned otherwise.

Returns:
client session context bound to this SSL context

getInstance

This is a method placeholder, which does not actually exist in the API. The description below should suggest how to achieve the behavior that this method would provide, if it existed.
public static SSLContext getInstance()
Try

SSLContext.getInstance("SSL")

Returns:
the new SSLContext object

getInstance

public static SSLContext getInstance(String protocol)
                              throws NoSuchAlgorithmException
Generates a SSLContext object that implements the specified secure socket protocol.

If the default provider package provides an implementation of the requested key management algorithm, an instance of SSLContext containing that implementation is returned. If the algorithm is not available in the default provider package, other provider packages are searched.

Parameters:
protocol - the standard name of the requested protocol.
Returns:
the new SSLContext object
Throws:
NoSuchAlgorithmException - if the specified protocol is not available in the default provider package or any of the other provider packages that were searched.

getInstance

public static SSLContext getInstance(String protocol,
                                     Provider provider)
                              throws NoSuchAlgorithmException
Generates a SSLContext object that implements the specified secure socket protocol from the specified provider.

Parameters:
protocol - the standard name of the requested protocol.
provider - an instance of the provider
Returns:
the new SSLContext object
Throws:
NoSuchAlgorithmException - if the specified protocol is not available from the specified provider.

getInstance

public static SSLContext getInstance(String protocol,
                                     String provider)
                              throws NoSuchAlgorithmException,
                                     NoSuchProviderException
Generates a SSLContext object that implements the specified secure socket protocol from the specified provider.

Parameters:
protocol - the standard name of the requested protocol.
provider - the name of the provider
Returns:
the new SSLContext object
Throws:
NoSuchAlgorithmException - if the specified protocol is not available from the specified provider.
NoSuchProviderException - if the specified provider has not been configured.

getProtocol

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

This is the same name that was specified in one of the getInstance calls that created this SSLContext object.

Returns:
the protocol name of this SSLContext object.

getProvider

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

Returns:
the provider of this SSLContext object

getServerSessionContext

public final SSLSessionContext getServerSessionContext()
Returns the server session context, which represents the set of SSL sessions available for use during the handshake phase of server-side SSL sockets.

This context may be unavailable in some environments, in which case this method returns null. For example, when the underlying SSL provider does not provide an implementation of SSLSessionContext interface, this method returns null. A non-null session context is returned otherwise.

Returns:
server session context bound to this SSL context

getServerSocketFactory

public final SSLServerSocketFactory getServerSocketFactory()
Returns a ServerSocketFactory object for this context.

Returns:
the ServerSocketFactory object

getSocketFactory

public final SSLSocketFactory getSocketFactory()
Returns a SocketFactory object for this context.

Returns:
the SocketFactory object

init

public final void init(KeyManager[] km,
                       TrustManager[] tm,
                       SecureRandom random)
                throws KeyManagementException
Initializes this context. Either of the first two parameters may be null in which case the installed security providers will be searched for the highest priority implementation of the appropriate factory. Likewise, the secure random parameter may be null in which case the default implementation will be used.

Only the first instance of a particular key and/or trust manager implementation type in the array is used. (For example, only the first javax.net.ssl.X509KeyManager in the array will be used.)

Parameters:
km - the sources of authentication keys or null
tm - the sources of peer authentication trust decisions or null
random - the source of randomness for this generator or null
Throws:
KeyManagementException - if this operation fails


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.