所有类


javax.net.ssl
类 SSLContext

java.lang.Object
  继承者 javax.net.ssl.SSLContext

public class SSLContext
   
   
   
   
   
extends Object

此类的实例表示安全套接字协议的实现,它充当用于安全套接字工厂或 SSLEngine 的工厂。用可选的一组密钥和信任管理器及安全随机字节源初始化此类。

从以下版本开始:
1.4

构造方法摘要
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
          创建 SSLContext 对象。
 
方法摘要
 SSLEnginecreateSSLEngine()
          使用此上下文创建新的 SSLEngine
 SSLEnginecreateSSLEngine(String peerHost, int peerPort)
          使用此上下文创建新的 SSLEngine,该上下文使用劝告同位体信息。
 SSLSessionContextgetClientSessionContext()
          返回客户端会话上下文,它表示可供客户端 SSL 套接字握手阶段所使用的 SSL 会话集。
static SSLContextgetInstance(String protocol)
          生成实现指定安全套接字协议的 SSLContext 对象。
static SSLContextgetInstance(String protocol, Provider provider)
          根据指定提供程序生成实现指定安全套接字协议的 SSLContext 对象。
static SSLContextgetInstance(String protocol, String provider)
          根据指定提供程序生成实现指定安全套接字协议的 SSLContext 对象。
 StringgetProtocol()
          返回此 SSLContext 对象的协议名称。
 ProvidergetProvider()
          返回此 SSLContext 对象的提供程序。
 SSLSessionContextgetServerSessionContext()
          返回服务器会话上下文,它表示可供服务器端 SSL 套接字握手阶段所使用的 SSL 会话集。
 SSLServerSocketFactorygetServerSocketFactory()
          返回此上下文的 ServerSocketFactory 对象。
 SSLSocketFactorygetSocketFactory()
          返回此上下文的 SocketFactory 对象。
 voidinit(KeyManager[] km, TrustManager[] tm, SecureRandom random)
          初始化此上下文。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

SSLContext

protected SSLContext(SSLContextSpi contextSpi,
                     Provider provider,
                     String protocol)
创建 SSLContext 对象。

参数:
contextSpi - 代理
provider - 提供程序
protocol - 协议
方法详细信息

getInstance

public static SSLContext getInstance(String protocol)
                              throws NoSuchAlgorithmException
生成实现指定安全套接字协议的 SSLContext 对象。

如果默认的提供程序包提供了请求的密钥管理算法实现,则返回包含该实现的 SSLContext 实例。如果默认提供程序包中未提供算法,则搜索其他的包。

参数:
protocol - 所请求协议的标准名称。
返回:
新的 SSLContext 对象
抛出:
NoSuchAlgorithmException - 如果指定协议在默认提供程序包或搜索到的其他任何提供程序包中不可用。

getInstance

public static SSLContext getInstance(String protocol,
                                     String provider)
                              throws NoSuchAlgorithmException,
                                     NoSuchProviderException
根据指定提供程序生成实现指定安全套接字协议的 SSLContext 对象。

参数:
protocol - 所请求协议的标准名称。
provider - 提供程序的名称
返回:
新的 SSLContext 对象
抛出:
NoSuchAlgorithmException - 如果指定提供程序中的协议不可用。
NoSuchProviderException - 如果指定的提供程序未配置。
IllegalArgumentException - 如果提供程序的名称为 null 或空。

getInstance

public static SSLContext getInstance(String protocol,
                                     Provider provider)
                              throws NoSuchAlgorithmException
根据指定提供程序生成实现指定安全套接字协议的 SSLContext 对象。

参数:
protocol - 所请求协议的标准名称。
provider - 提供程序的实例
返回:
新的 SSLContext 对象
抛出:
NoSuchAlgorithmException - 如果指定提供程序中的协议不可用。
NullPointerException - 如果提供程序的名称为 null 或空。

getProtocol

public final String getProtocol()
返回此 SSLContext 对象的协议名称。

这与创建此 SSLContext 对象的某个 getInstance 调用中所指定的名称相同。

返回:
SSLContext 对象的协议名称。

getProvider

public final Provider getProvider()
返回此 SSLContext 对象的提供程序。

返回:
SSLContext 对象的提供程序

init

public final void init(KeyManager[] km,
                       TrustManager[] tm,
                       SecureRandom random)
                throws KeyManagementException
初始化此上下文。前两个参数都可以为 null,在这种情况下将搜索装入的安全提供程序来寻找适当工厂的最高优先级实现。同样,安全的 random 参数也可以为 null,在这种情况下将使用默认的实现。

只有数组中的第一个特定密钥和/或信任管理器实现类型的实例被使用。(例如,只有数组中的第一个 javax.net.ssl.X509KeyManager 被使用。)

参数:
km - 身份验证密钥源或 null
tm - 同位体身份验证信任决策源或 null
random - 此生成器的随机源或 null
抛出:
KeyManagementException - 如果此操作失败

getSocketFactory

public final SSLSocketFactory getSocketFactory()
返回此上下文的 SocketFactory 对象。

返回:
SocketFactory 对象