java.lang.Object
javax.net.ssl.SSLContextSpi
这个类定义了服务提供商接口 (SPI) 为
SSLContext
类。
此类中的所有抽象方法必须由希望提供特定 SSL 上下文实现的每个加密服务提供者实现。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述protected abstract SSLEngine
使用此上下文创建一个新的SSLEngine
。protected abstract SSLEngine
engineCreateSSLEngine
(String host, int port) 使用此上下文创建一个SSLEngine
。protected abstract SSLSessionContext
返回此上下文的客户端SSLSessionContext
对象。protected SSLParameters
返回 SSLParameters 的副本,指示此 SSL 上下文的默认设置。protected abstract SSLSessionContext
返回此上下文的服务SSLSessionContext
对象。protected abstract SSLServerSocketFactory
返回此上下文的ServerSocketFactory
对象。protected abstract SSLSocketFactory
返回此上下文的SocketFactory
对象。protected SSLParameters
返回 SSLParameters 的副本,指示此 SSL 上下文支持的最大设置。protected abstract void
engineInit
(KeyManager[] km, TrustManager[] tm, SecureRandom sr) 初始化此上下文。
-
构造方法详细信息
-
SSLContextSpi
public SSLContextSpi()子类调用的构造方法。
-
-
方法详情
-
engineInit
protected abstract void engineInit(KeyManager [] km, TrustManager [] tm, SecureRandom sr) throws KeyManagementException 初始化此上下文。- 参数:
km
- 身份验证密钥的来源tm
- 对等身份验证信任决策的来源sr
- 随机性的来源- 抛出:
KeyManagementException
- 如果此操作失败- 参见:
-
engineGetSocketFactory
返回此上下文的SocketFactory
对象。- 返回:
SocketFactory
对象- 抛出:
UnsupportedOperationException
- 如果底层提供者没有实现该操作。IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用engineInit()
- 参见:
-
engineGetServerSocketFactory
返回此上下文的ServerSocketFactory
对象。- 返回:
ServerSocketFactory
对象- 抛出:
UnsupportedOperationException
- 如果底层提供者没有实现该操作。IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用engineInit()
- 参见:
-
engineCreateSSLEngine
使用此上下文创建一个新的SSLEngine
。使用此工厂方法的应用程序未提供有关内部会话重用策略的提示。如果需要提示,则应改用
engineCreateSSLEngine(String, int)
。某些密码套件(例如 Kerberos)需要远程主机名信息,在这种情况下不应使用此工厂方法。
- 实现注意事项:
-
如果返回的 SSLEngine 默认使用客户端或服务模式进行 (D)TLS 连接,则它是特定于提供程序的。 JDK SunJSSE 提供程序实现默认使用服务模式。但是,建议始终在调用 SSLEngine 的其他方法之前通过调用
SSLEngine.setUseClientMode()
显式设置所需的模式。 - 返回:
SSLEngine
对象- 抛出:
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用engineInit()
- 自从:
- 1.5
- 参见:
-
engineCreateSSLEngine
使用此上下文创建一个SSLEngine
。使用此工厂方法的应用程序正在为内部会话重用策略提供提示。
一些密码套件(例如 Kerberos)需要远程主机名信息,在这种情况下需要指定 peerHost。
- 实现注意事项:
-
如果返回的 SSLEngine 默认使用客户端或服务模式进行 (D)TLS 连接,则它是特定于提供程序的。 JDK SunJSSE 提供程序实现默认使用服务模式。但是,建议始终在调用 SSLEngine 的其他方法之前通过调用
SSLEngine.setUseClientMode()
显式设置所需的模式。 - 参数:
host
- 主机的非权威名称port
- 非权威端口- 返回:
SSLEngine
对象- 抛出:
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用engineInit()
- 自从:
- 1.5
- 参见:
-
engineGetServerSessionContext
返回此上下文的服务SSLSessionContext
对象。- 返回:
SSLSessionContext
对象- 参见:
-
engineGetClientSessionContext
返回此上下文的客户端SSLSessionContext
对象。- 返回:
SSLSessionContext
对象- 参见:
-
engineGetDefaultSSLParameters
返回 SSLParameters 的副本,指示此 SSL 上下文的默认设置。参数将始终将密码套件和协议数组设置为非空值。
默认实现从通过调用此上下文的 SocketFactory 的 SocketFactory.createSocket() 方法创建的 SSLSocket 获取参数。
- 返回:
- 具有默认设置的 SSLParameters 对象的副本
- 抛出:
UnsupportedOperationException
- 如果无法获取默认 SSL 参数。- 自从:
- 1.6
-
engineGetSupportedSSLParameters
返回 SSLParameters 的副本,指示此 SSL 上下文支持的最大设置。参数将始终将密码套件和协议数组设置为非空值。
默认实现从通过调用此上下文的 SocketFactory 的 SocketFactory.createSocket() 方法创建的 SSLSocket 获取参数。
- 返回:
- 具有最大支持设置的 SSLParameters 对象的副本
- 抛出:
UnsupportedOperationException
- 如果无法获得支持的 SSL 参数。- 自从:
- 1.6
-