java.lang.Object
javax.net.ssl.SSLContextSpi
此类为
SSLContext
类定义了服务提供者接口(SPI)。
此类中的所有抽象方法必须由每个希望提供特定SSL上下文实现的加密服务提供者来实现。
- 自版本:
- 1.4
- 参见:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected abstract SSLEngine
使用此上下文创建一个新的SSLEngine
。protected abstract SSLEngine
engineCreateSSLEngine
(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 void
engineInit
(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
-