public abstract class SSLContextSpi extends Object
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.
SSLContext
| Constructor and Description |
|---|
SSLContextSpi()
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract SSLEngine |
engineCreateSSLEngine()
Creates a new
SSLEngine using this context.
|
protected abstract SSLEngine |
engineCreateSSLEngine(String
Creates a
SSLEngine using this context.
|
protected abstract SSLSessionContext |
engineGetClientSessionContext()
Returns a client
SSLSessionContext object for this context.
|
protected SSLParameters |
engineGetDefaultSSLParameters()
Returns a copy of the SSLParameters indicating the default settings for this SSL context.
|
protected abstract SSLSessionContext |
engineGetServerSessionContext()
Returns a server
SSLSessionContext object for this context.
|
protected abstract SSLServerSocketFactory |
engineGetServerSocketFactory()
Returns a
ServerSocketFactory object for this context.
|
protected abstract SSLSocketFactory |
engineGetSocketFactory()
Returns a
SocketFactory object for this context.
|
protected SSLParameters |
engineGetSupportedSSLParameters()
Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.
|
protected abstract void |
engineInit(KeyManager
Initializes this context.
|
protected abstract void engineInit(KeyManager[] km, TrustManager [] tm, SecureRandom sr) throws KeyManagementException
km - the sources of authentication keys
tm - the sources of peer authentication trust decisions
sr - the source of randomness
KeyManagementException - if this operation fails
SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
protected abstract SSLSocketFactoryengineGetSocketFactory()
SocketFactory object for this context.
SocketFactory object
IllegalStateException - if the SSLContextImpl requires initialization and the
engineInit() has not been called
SSLContext.getSocketFactory()
protected abstract SSLServerSocketFactoryengineGetServerSocketFactory()
ServerSocketFactory object for this context.
ServerSocketFactory object
IllegalStateException - if the SSLContextImpl requires initialization and the
engineInit() has not been called
SSLContext.getServerSocketFactory()
protected abstract SSLEngineengineCreateSSLEngine()
SSLEngine using this context.
Applications using this factory method are providing no hints for an internal session reuse strategy. If hints are desired, engineCreateSSLEngine(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.
SSLEngine Object
IllegalStateException - if the SSLContextImpl requires initialization and the
engineInit() has not been called
SSLContext.createSSLEngine()
protected abstract SSLEngineengineCreateSSLEngine(String host, int port)
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.
host - the non-authoritative name of the host
port - the non-authoritative port
SSLEngine Object
IllegalStateException - if the SSLContextImpl requires initialization and the
engineInit() has not been called
SSLContext.createSSLEngine(String, int)
protected abstract SSLSessionContextengineGetServerSessionContext()
SSLSessionContext object for this context.
SSLSessionContext object
SSLContext.getServerSessionContext()
protected abstract SSLSessionContextengineGetClientSessionContext()
SSLSessionContext object for this context.
SSLSessionContext object
SSLContext.getClientSessionContext()
protected SSLParametersengineGetDefaultSSLParameters()
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.
UnsupportedOperationException - if the default SSL parameters could not be obtained.
protected SSLParametersengineGetSupportedSSLParameters()
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.
UnsupportedOperationException - if the supported SSL parameters could not be obtained.