- 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 SSLEngineengineCreateSSLEngine()使用此上下文创建一个新的SSLEngine。protected abstract SSLEngineengineCreateSSLEngine(String host, int port)使用此上下文创建一个SSLEngine。protected abstract SSLSessionContextengineGetClientSessionContext()返回此上下文的客户端SSLSessionContext对象。protected SSLParametersengineGetDefaultSSLParameters()返回指示此SSL上下文默认设置的SSLParameters的副本。protected abstract SSLSessionContextengineGetServerSessionContext()返回此上下文的服务器SSLSessionContext对象。protected abstract SSLServerSocketFactoryengineGetServerSocketFactory()为此上下文返回一个ServerSocketFactory对象。protected abstract SSLSocketFactoryengineGetSocketFactory()为此上下文返回一个SocketFactory对象。protected SSLParametersengineGetSupportedSSLParameters()返回指示此SSL上下文支持的最大设置的SSLParameters的副本。protected abstract voidengineInit(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
-
-