public abstract class SSLContextSpi extends Object
SSLContext
类。
该类中的所有抽象方法必须由希望提供特定SSL上下文的实现的每个加密服务提供商来实现。
SSLContext
Constructor and Description |
---|
SSLContextSpi() |
Modifier and Type | Method and Description |
---|---|
protected abstract SSLEngine |
engineCreateSSLEngine()
使用这个上下文创建一个新的
SSLEngine 。
|
protected abstract SSLEngine |
engineCreateSSLEngine(String host, int port)
使用这个上下文创建一个
SSLEngine 。
|
protected abstract SSLSessionContext |
engineGetClientSessionContext()
返回此上下文的客户端
SSLSessionContext 对象。
|
protected SSLParameters |
engineGetDefaultSSLParameters()
返回指示此SSL上下文默认设置的SSLParameters的副本。
|
protected abstract SSLSessionContext |
engineGetServerSessionContext()
返回此上下文的服务器
SSLSessionContext 对象。
|
protected abstract SSLServerSocketFactory |
engineGetServerSocketFactory()
返回此上下文的
ServerSocketFactory 对象。
|
protected abstract SSLSocketFactory |
engineGetSocketFactory()
返回此上下文的
SocketFactory 对象。
|
protected SSLParameters |
engineGetSupportedSSLParameters()
返回指示此SSL上下文支持的最大设置的SSLParameters的副本。
|
protected abstract void |
engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr)
初始化此上下文。
|
protected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
km
- 认证密钥的来源
tm
- 对等认证信任决策的来源
sr
-
sr
的来源
KeyManagementException
- 如果此操作失败
SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
protected abstract SSLSocketFactory engineGetSocketFactory()
SocketFactory
对象。
SocketFactory
对象
IllegalStateException
- 如果SSLContextImpl需要初始化,并且尚未调用
engineInit()
SSLContext.getSocketFactory()
protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
ServerSocketFactory
对象。
ServerSocketFactory
对象
IllegalStateException
- 如果SSLContextImpl需要初始化,并且尚未调用
engineInit()
SSLContext.getServerSocketFactory()
protected abstract SSLEngine engineCreateSSLEngine()
SSLEngine
。
使用此工厂方法的应用程序不提供内部会话重用策略的提示。 如果需要提示,应该使用engineCreateSSLEngine(String, int)
。
某些密码套件(如Kerberos)需要远程主机名信息,在这种情况下,不应使用此工厂方法。
SSLEngine
对象
IllegalStateException
- 如果SSLContextImpl需要初始化,并且尚未调用
engineInit()
SSLContext.createSSLEngine()
protected abstract SSLEngine engineCreateSSLEngine(String host, int port)
SSLEngine
。
使用此工厂方法的应用程序正在为内部会话重用策略提供提示。
某些密码套件(如Kerberos)需要远程主机名信息,在这种情况下需要指定peerHost。
host
- 主机的非权威名称
port
- 非权威端口
SSLEngine
对象
IllegalStateException
- 如果SSLContextImpl需要初始化,并且尚未调用
engineInit()
SSLContext.createSSLEngine(String, int)
protected abstract SSLSessionContext engineGetServerSessionContext()
SSLSessionContext
对象。
SSLSessionContext
对象
SSLContext.getServerSessionContext()
protected abstract SSLSessionContext engineGetClientSessionContext()
SSLSessionContext
对象。
SSLSessionContext
对象
SSLContext.getClientSessionContext()
protected SSLParameters engineGetDefaultSSLParameters()
参数将始终将密码和协议数组设置为非空值。
默认实现通过调用此上下文的SocketFactory的SocketFactory.createSocket()方法从SSLSocket获取参数。
UnsupportedOperationException
- 如果无法获取默认SSL参数。
protected SSLParameters engineGetSupportedSSLParameters()
参数将始终将密码和协议数组设置为非空值。
默认实现通过调用此上下文的SocketFactory的SocketFactory.createSocket()方法从SSLSocket获取参数。
UnsupportedOperationException
- 如果无法获得支持的SSL参数。