This class is a factory for socket and server socket factories. Although most applications do not need to use this class directly, it is the central class of the javax.net.ssl package. Most applications use the default SSLSocketFactory and SSLServerSocketFactory objects returned by the static getdefault( ) methods of those classes. Applications that want to perform SSL networking using a security provider other than the default provider, or that want to customize key management or trust management for the SSL connection should use custom socket factories created from a custom SSLContext . In Java 5.0, this class also includes createSSLEngine( ) factory methods for creating SSLEngine objects. Create an SSLContext by passing the name of the desired secure socket protocol and, optionally , the desired provider to getInstance( ) . The default "SunJSSE" provider supports protocol strings "SSL", "SSLv2", "SSLv3", "TLS", and "TLSv1". Once you have created an SSLContext object, call its init( ) method to supply the KeyManager , trustManager , and SecureRandom objects it requires. If any of the init( ) arguments is null , a default value will be used. Finally, obtain a SSLSocketFactory and SSLServerSocketFactory by calling getSocketFactory( ) and getServerSocketFactory( ) . public class SSLContext { // Protected Constructors protected SSLContext (SSLContextSpi contextSpi , java.security.Provider provider , String protocol ); // Public Class Methods public static SSLContext getInstance (String protocol ) throws java.security.NoSuchAlgorithmException; public static SSLContext getInstance (String protocol , String provider ) throws java.security.NoSuchAlgorithmException, java.security.NoSuchProviderException; public static SSLContext getInstance (String protocol , java.security.Provider provider ) throws java.security.NoSuchAlgorithmException; // Public Instance Methods 5.0 public final SSLEngine createSSLEngine ( ); 5.0 public final SSLEngine createSSLEngine (String peerHost , int peerPort ); public final SSLSessionContext getClientSessionContext ( ); public final String getProtocol ( ); public final java.security.Provider getProvider ( ); public final SSLSessionContext getServerSessionContext ( ); public final SSLServerSocketFactory getServerSocketFactory ( ); public final SSLSocketFactory getSocketFactory ( ); public final void init (KeyManager[ ] km , TrustManager[ ] tm , java.security.SecureRandom random ) throws java.security.KeyManagementException; } |