O'Reilly logo

Java Security, 2nd Edition by Scott Oaks

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

SSL Contexts and Key Managers

The generic SSL sockets utilize several default options, including the protocol version used (TLS 1.0, which also supports SSL 3.0) and the default key and trust managers. If you want to change any of these options, you must use an instance of the SSLContext class (com.sun.net.ssl.SSLContext). This is often necessary, although it moves us away from a strictly protocol-independent socket factory paradigm.

The SSLContext class is an engine class; it provides the following methods:

public static SSLContext getInstance(String protocol)public static SSLContext getInstance(String protocol, Provider provider)public static SSLContext getInstance(String protocol, String provider)

Obtain an SSL context that implements the given protocol, optionally by consulting only the given provider. In Sun’s implementation of JSSE, the protocol must be TLS, TLSv1, SSL, or SSLv3. Since later versions of the protocol can support earlier versions, the string TLS provides the most generic instance of an SSL context.

If the given algorithm cannot be found, a NoSuchAlgorithmException is thrown. If the given provider cannot be found, a NoSuchProviderException is thrown.

public final String getProtocol( )

Return the protocol supported by this context.

public final Provider getProvider( )

Return the provider that supplied the implementation of this context.

public final void init(KeyManager[] km, TrustManager[] tm, SecureRandom random)

Initialize this context with the given key managers, ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required