SSLContextSpi

public abstract class SSLContextSpi
extends Object

java.lang.Object
   ↳ javax.net.ssl.SSLContextSpi


This class defines the Service Provider Interface (SPI) for the SSLContext class.

All the abstract methods in this class must be implemented by each cryptographic service provider who wishes to supply the implementation of a particular SSL context.

See also:

Summary

Public constructors

SSLContextSpi()

Protected methods

abstract SSLEngine engineCreateSSLEngine()

Creates a new SSLEngine using this context.

abstract SSLEngine engineCreateSSLEngine(String host, int port)

Creates a SSLEngine using this context.

abstract SSLSessionContext engineGetClientSessionContext()

Returns a client SSLSessionContext object for this context.

SSLParameters engineGetDefaultSSLParameters()

Returns a copy of the SSLParameters indicating the default settings for this SSL context.

abstract SSLSessionContext engineGetServerSessionContext()

Returns a server SSLSessionContext object for this context.

abstract SSLServerSocketFactory engineGetServerSocketFactory()

Returns a ServerSocketFactory object for this context.

abstract SSLSocketFactory engineGetSocketFactory()

Returns a SocketFactory object for this context.

SSLParameters engineGetSupportedSSLParameters()

Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.

abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)

Initializes this context.

Inherited methods

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

SSLContextSpi

Added in API level 1
public SSLContextSpi ()

Protected methods

engineCreateSSLEngine

Added in API level 1
protected abstract SSLEngine engineCreateSSLEngine ()

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, engineCreateSSLEngine(java.lang.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
SSLEngine the SSLEngine Object

Throws
IllegalStateException if the SSLContextImpl requires initialization and the engineInit() has not been called

engineCreateSSLEngine

Added in API level 1
protected abstract SSLEngine engineCreateSSLEngine (String host, 
                int port)

Creates a SSLEngine using this context.

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
host String: the non-authoritative name of the host

port int: the non-authoritative port

Returns
SSLEngine the SSLEngine Object

Throws
IllegalStateException if the SSLContextImpl requires initialization and the engineInit() has not been called

engineGetClientSessionContext

Added in API level 1
protected abstract SSLSessionContext engineGetClientSessionContext ()

Returns a client SSLSessionContext object for this context.

Returns
SSLSessionContext the SSLSessionContext object

engineGetDefaultSSLParameters

Added in API level 9
protected SSLParameters engineGetDefaultSSLParameters ()

Returns a copy of the SSLParameters indicating the default settings for this SSL context.

The parameters will always have the ciphersuite and protocols arrays set to non-null values.

The default implementation obtains the parameters from an SSLSocket created by calling the SocketFactory.createSocket() method of this context's SocketFactory.

Returns
SSLParameters a copy of the SSLParameters object with the default settings

Throws
UnsupportedOperationException if the default SSL parameters could not be obtained.

engineGetServerSessionContext

Added in API level 1
protected abstract SSLSessionContext engineGetServerSessionContext ()

Returns a server SSLSessionContext object for this context.

Returns
SSLSessionContext the SSLSessionContext object

engineGetServerSocketFactory

Added in API level 1
protected abstract SSLServerSocketFactory engineGetServerSocketFactory ()

Returns a ServerSocketFactory object for this context.

Returns
SSLServerSocketFactory the ServerSocketFactory object

Throws
IllegalStateException if the SSLContextImpl requires initialization and the engineInit() has not been called

engineGetSocketFactory

Added in API level 1
protected abstract SSLSocketFactory engineGetSocketFactory ()

Returns a SocketFactory object for this context.

Returns
SSLSocketFactory the SocketFactory object

Throws
IllegalStateException if the SSLContextImpl requires initialization and the engineInit() has not been called

engineGetSupportedSSLParameters

Added in API level 9
protected SSLParameters engineGetSupportedSSLParameters ()

Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.

The parameters will always have the ciphersuite and protocols arrays set to non-null values.

The default implementation obtains the parameters from an SSLSocket created by calling the SocketFactory.createSocket() method of this context's SocketFactory.

Returns
SSLParameters a copy of the SSLParameters object with the maximum supported settings

Throws
UnsupportedOperationException if the supported SSL parameters could not be obtained.

engineInit

Added in API level 1
protected abstract void engineInit (KeyManager[] km, 
                TrustManager[] tm, 
                SecureRandom sr)

Initializes this context.

Parameters
km KeyManager: the sources of authentication keys

tm TrustManager: the sources of peer authentication trust decisions

sr SecureRandom: the source of randomness

Throws
KeyManagementException if this operation fails