java.lang.Object
javax.net.ssl.SSLContextSpi
此类为
SSLContext类定义了服务提供者接口(SPI)。
此类中的所有抽象方法必须由每个希望提供特定SSL上下文实现的加密服务提供者来实现。
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract SSLEngine使用此上下文创建一个新的SSLEngine。protected abstract SSLEngineengineCreateSSLEngine(String host, int port) 使用此上下文创建一个SSLEngine。protected abstract SSLSessionContext返回此上下文的客户端SSLSessionContext对象。protected SSLParameters返回指示此SSL上下文的默认设置的SSLParameters副本。protected abstract SSLSessionContext返回此上下文的服务器SSLSessionContext对象。protected abstract SSLServerSocketFactory返回此上下文的ServerSocketFactory对象。protected abstract SSLSocketFactory返回此上下文的SocketFactory对象。protected SSLParameters返回指示此SSL上下文的最大支持设置的SSLParameters副本。protected abstract voidengineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) 初始化此上下文。
-
Constructor Details
-
SSLContextSpi
public SSLContextSpi()子类调用的构造函数。
-
-
Method Details
-
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默认使用客户端或服务器模式是特定于提供程序的。JDK SunJSSE提供程序实现默认使用服务器模式。但是,建议始终通过在调用SSLEngine的其他方法之前调用
SSLEngine.setUseClientMode()来显式设置所需的模式。 - 返回:
-
SSLEngine对象 - 抛出:
-
IllegalStateException- 如果SSLContextImpl需要初始化且未调用engineInit() - 自版本:
- 1.5
- 参见:
-
engineCreateSSLEngine
使用此上下文创建一个SSLEngine。使用此工厂方法的应用程序提供内部会话重用策略的提示。
某些密码套件(如Kerberos)需要远程主机名信息,在这种情况下,需要指定peerHost。
- 实现注意:
-
返回的SSLEngine默认使用客户端或服务器模式是特定于提供程序的。JDK SunJSSE提供程序实现默认使用服务器模式。但是,建议始终通过在调用SSLEngine的其他方法之前调用
SSLEngine.setUseClientMode()来显式设置所需的模式。 - 参数:
-
host- 主机的非权威名称 -
port- 非权威端口 - 返回:
-
SSLEngine对象 - 抛出:
-
IllegalStateException- 如果SSLContextImpl需要初始化且未调用engineInit() - 自版本:
- 1.5
- 参见:
-
engineGetServerSessionContext
返回此上下文的服务器SSLSessionContext对象。- 返回:
-
SSLSessionContext对象 - 参见:
-
engineGetClientSessionContext
返回此上下文的客户端SSLSessionContext对象。- 返回:
-
SSLSessionContext对象 - 参见:
-
engineGetDefaultSSLParameters
返回指示此SSL上下文的默认设置的SSLParameters副本。参数将始终将密码套件和协议数组设置为非空值。
默认实现通过调用此上下文的SocketFactory的SocketFactory.createSocket()方法创建的SSLSocket获取参数。
- 返回:
- 具有默认设置的SSLParameters对象的副本
- 抛出:
-
UnsupportedOperationException- 如果无法获取默认SSL参数。 - 自版本:
- 1.6
-
engineGetSupportedSSLParameters
返回指示此SSL上下文的最大支持设置的SSLParameters副本。参数将始终将密码套件和协议数组设置为非空值。
默认实现通过调用此上下文的SocketFactory的SocketFactory.createSocket()方法创建的SSLSocket获取参数。
- 返回:
- 具有最大支持设置的SSLParameters对象的副本
- 抛出:
-
UnsupportedOperationException- 如果无法获取支持的SSL参数。 - 自版本:
- 1.6
-