java.lang.Object
javax.net.ssl.SSLContextSpi
这个类定义了服务提供商接口 (SPI) 为
SSLContext 类。
此类中的所有抽象方法必须由希望提供特定 SSL 上下文实现的每个加密服务提供者实现。
- 自从:
- 1.4
- 参见:
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述protected abstract SSLEngine使用此上下文创建一个新的SSLEngine。protected abstract SSLEngineengineCreateSSLEngine(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 voidengineInit(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
-