java.lang.Object javax.net.ssl.SSLContextSpi
public abstract class SSLContextSpi
此类为 SSLContext
类定义了服务提供者接口 (SPI)。
此类中的所有抽象方法都必须由每个想要提供实现特定 SSL 上下文的加密服务提供者实现。
SSLContext
构造方法摘要 | |
---|---|
SSLContextSpi() |
方法摘要 | |
---|---|
protected abstract SSLEngine |
engineCreateSSLEngine() 使用此上下文创建新的 SSLEngine 。 |
protected abstract SSLEngine |
engineCreateSSLEngine(String host, int port) 使用此上下文创建 SSLEngine 。 |
protected abstract SSLSessionContext |
engineGetClientSessionContext() 返回此上下文的客户端 SSLSessionContext 对象。 |
protected SSLParameters |
engineGetDefaultSSLParameters() 返回表示此 SSL 上下文默认设置的 SSLParameters 的副本。 |
protected abstract SSLSessionContext |
engineGetServerSessionContext() 返回此上下文的服务器 SSLSessionContext 对象。 |
protected abstract SSLServerSocketFactory |
engineGetServerSocketFactory() 返回此上下文的 ServerSocketFactory 对象。 |
protected abstract SSLSocketFactory |
engineGetSocketFactory() 返回此上下文的 SocketFactory 对象。 |
protected SSLParameters |
engineGetSupportedSSLParameters() 返回表示此 SSL 上下文最大受支持设置的 SSLParameters 的副本。 |
protected abstract void |
engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) 初始化此上下文。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public SSLContextSpi()
方法详细信息 |
---|
protected abstract void engineInit(KeyManager[] km, TrustManager[] tm, SecureRandom sr) throws KeyManagementException
km
- 验证密钥源
tm
- 同位体验证信任决策源或
sr
- 随机源
KeyManagementException
- 如果此操作失败
SSLContext.init(KeyManager [], TrustManager [], SecureRandom)
protected abstract SSLSocketFactory engineGetSocketFactory()
SocketFactory
对象。
SocketFactory
对象
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用
engineInit()
SSLContext.getSocketFactory()
protected abstract SSLServerSocketFactory engineGetServerSocketFactory()
ServerSocketFactory
对象。
ServerSocketFactory
对象
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用
engineInit()
SSLContext.getServerSocketFactory()
protected abstract SSLEngine engineCreateSSLEngine()
SSLEngine
。
使用此工厂方法的应用程序不为内部会话重用策略提供提示。如果需要提示,则应该使用 engineCreateSSLEngine(String, int)
。
某些密码套件(例如 Kerberos)需要远程主机名信息,在这种情况下不应该使用此工厂方法。
SSLEngine
对象
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用
engineInit()
SSLContext.createSSLEngine()
protected abstract SSLEngine engineCreateSSLEngine(String host, int port)
SSLEngine
。
使用此工厂方法的应用程序为内部会话重用策略提供提示。
某些密码套件(例如 Kerberos)需要远程主机名信息,在这种情况下需要指定 peerHost。
host
- 主机的非授权名
port
- 非授权端口号
SSLEngine
对象
IllegalStateException
- 如果 SSLContextImpl 需要初始化并且尚未调用
engineInit()
SSLContext.createSSLEngine(String, int)
protected abstract SSLSessionContext engineGetServerSessionContext()
SSLSessionContext
对象。
SSLSessionContext
对象
SSLContext.getServerSessionContext()
protected abstract SSLSessionContext engineGetClientSessionContext()
SSLSessionContext
对象。
SSLSessionContext
对象
SSLContext.getClientSessionContext()
protected SSLParameters engineGetDefaultSSLParameters()
该参数将始终具有密码套件和设置为非 null 值的协议数组。
默认实现从通过调用此上下文 SocketFactory 的 SocketFactory.createSocket() 方法所创建的 SSLSocket 获得该参数。
UnsupportedOperationException
- 如果不能获得默认的 SSL 参数。
protected SSLParameters engineGetSupportedSSLParameters()
该参数将始终具有密码套件和设置为非 null 值的协议数组。
默认实现从通过调用此上下文 SocketFactory 的 SocketFactory.createSocket() 方法所创建的 SSLSocket 获得该参数。
UnsupportedOperationException
- 如果不能获得受支持的 SSL 参数。