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