- java.lang.Object
- 
- javax.net.ssl.SSLContextSpi
 
- 
 
 public abstract class SSLContextSpi extends Object This class defines the Service Provider Interface (SPI) for theSSLContextclass.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. - Since:
- 1.4
- See Also:
- SSLContext
 
- 
- 
Constructor SummaryConstructors Constructor Description SSLContextSpi()
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract SSLEngineengineCreateSSLEngine()Creates a newSSLEngineusing this context.protected abstract SSLEngineengineCreateSSLEngine(String host, int port)Creates aSSLEngineusing this context.protected abstract SSLSessionContextengineGetClientSessionContext()Returns a clientSSLSessionContextobject for this context.protected SSLParametersengineGetDefaultSSLParameters()Returns a copy of the SSLParameters indicating the default settings for this SSL context.protected abstract SSLSessionContextengineGetServerSessionContext()Returns a serverSSLSessionContextobject for this context.protected abstract SSLServerSocketFactoryengineGetServerSocketFactory()Returns aServerSocketFactoryobject for this context.protected abstract SSLSocketFactoryengineGetSocketFactory()Returns aSocketFactoryobject for this context.protected SSLParametersengineGetSupportedSSLParameters()Returns a copy of the SSLParameters indicating the maximum supported settings for this SSL context.protected abstract voidengineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)Initializes this context.
 
- 
- 
- 
Method Detail- 
engineInitprotected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException Initializes this context.- Parameters:
- km- the sources of authentication keys
- tm- the sources of peer authentication trust decisions
- sr- the source of randomness
- Throws:
- KeyManagementException- if this operation fails
- See Also:
- SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
 
 - 
engineGetSocketFactoryprotected abstract SSLSocketFactory engineGetSocketFactory() Returns aSocketFactoryobject for this context.- Returns:
- the SocketFactoryobject
- Throws:
- UnsupportedOperationException- if the underlying provider does not implement the operation.
- IllegalStateException- if the SSLContextImpl requires initialization and the- engineInit()has not been called
- See Also:
- SSLContext.getSocketFactory()
 
 - 
engineGetServerSocketFactoryprotected abstract SSLServerSocketFactory engineGetServerSocketFactory() Returns aServerSocketFactoryobject for this context.- Returns:
- the ServerSocketFactoryobject
- Throws:
- UnsupportedOperationException- if the underlying provider does not implement the operation.
- IllegalStateException- if the SSLContextImpl requires initialization and the- engineInit()has not been called
- See Also:
- SSLContext.getServerSocketFactory()
 
 - 
engineCreateSSLEngineprotected abstract SSLEngine engineCreateSSLEngine() Creates a newSSLEngineusing 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. - Returns:
- the SSLEngineObject
- Throws:
- IllegalStateException- if the SSLContextImpl requires initialization and the- engineInit()has not been called
- Since:
- 1.5
- See Also:
- SSLContext.createSSLEngine()
 
 - 
engineCreateSSLEngineprotected abstract SSLEngine engineCreateSSLEngine(String host, int port) Creates aSSLEngineusing 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- the non-authoritative name of the host
- port- the non-authoritative port
- Returns:
- the SSLEngineObject
- Throws:
- IllegalStateException- if the SSLContextImpl requires initialization and the- engineInit()has not been called
- Since:
- 1.5
- See Also:
- SSLContext.createSSLEngine(String, int)
 
 - 
engineGetServerSessionContextprotected abstract SSLSessionContext engineGetServerSessionContext() Returns a serverSSLSessionContextobject for this context.- Returns:
- the SSLSessionContextobject
- See Also:
- SSLContext.getServerSessionContext()
 
 - 
engineGetClientSessionContextprotected abstract SSLSessionContext engineGetClientSessionContext() Returns a clientSSLSessionContextobject for this context.- Returns:
- the SSLSessionContextobject
- See Also:
- SSLContext.getClientSessionContext()
 
 - 
engineGetDefaultSSLParametersprotected 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:
- a copy of the SSLParameters object with the default settings
- Throws:
- UnsupportedOperationException- if the default SSL parameters could not be obtained.
- Since:
- 1.6
 
 - 
engineGetSupportedSSLParametersprotected 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:
- a copy of the SSLParameters object with the maximum supported settings
- Throws:
- UnsupportedOperationException- if the supported SSL parameters could not be obtained.
- Since:
- 1.6
 
 
- 
 
-