public class SSLContext extends Object
SSLEngine
s厂。此类初始化为一个可选的键和信任管理器和安全随机字节的源。
java平台的每种实现都要求支持以下标准SSLContext
协议:
Modifier | Constructor and Description |
---|---|
protected |
SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
创建一个SSLContext对象。
|
Modifier and Type | Method and Description |
---|---|
SSLEngine |
createSSLEngine()
创建一个使用该上下文的新
SSLEngine 。
|
SSLEngine |
createSSLEngine(String peerHost, int peerPort)
创建一个使用该上下文中使用新
SSLEngine 咨询点信息。
|
SSLSessionContext |
getClientSessionContext()
返回客户端的会话上下文,这是可供使用的SSL会话设置客户端SSL套接字握手阶段。
|
static SSLContext |
getDefault()
返回默认SSL上下文。
|
SSLParameters |
getDefaultSSLParameters()
返回一个表示该SSL上下文的默认设置sslparameters。
|
static SSLContext |
getInstance(String protocol)
返回一个
SSLContext 对象实现指定的安全套接字协议。
|
static SSLContext |
getInstance(String protocol, Provider provider)
返回一个
SSLContext 对象实现指定的安全套接字协议。
|
static SSLContext |
getInstance(String protocol, String provider)
返回一个实现指定安全套接字协议
SSLContext 对象。
|
String |
getProtocol()
返回该对象的
SSLContext 协议名称。
|
Provider |
getProvider()
返回该对象的
SSLContext 提供者。
|
SSLSessionContext |
getServerSessionContext()
返回服务器的会话上下文,它代表的SSL会话可用的服务器的SSL握手阶段插座。
|
SSLServerSocketFactory |
getServerSocketFactory()
返回此上下文
ServerSocketFactory 对象。
|
SSLSocketFactory |
getSocketFactory()
返回此上下文
SocketFactory 对象。
|
SSLParameters |
getSupportedSSLParameters()
返回一个表示支持设置SSL上下文的sslparameters。
|
void |
init(KeyManager[] km, TrustManager[] tm, SecureRandom random)
初始化上下文。
|
static void |
setDefault(SSLContext context)
设置默认的SSL上下文。
|
protected SSLContext(SSLContextSpi contextSpi, Provider provider, String protocol)
contextSpi
-代表
provider
-供应商
protocol
-协议
public static SSLContext getDefault() throws NoSuchAlgorithmException
如果默认的背景是用SSLContext.setDefault()
方法,它返回。否则,该方法首先调用触发器调用SSLContext.getInstance("Default")
。如果成功的话,对象是默认的SSL上下文返回。
默认情况下是立即可用的,不需要initialization。
NoSuchAlgorithmException
-如果
SSLContext.getInstance()
调用失败
public static void setDefault(SSLContext context)
getDefault()
。默认的上下文必须马上使用,不需要
initialization。
context
- SSLContext
NullPointerException
如果背景是空的
SecurityException
-如果存在一个安全管理及其
checkPermission
方法不允许
SSLPermission("setDefaultSSLContext")
public static SSLContext getInstance(String protocol) throws NoSuchAlgorithmException
SSLContext
对象。
该方法通过注册安全提供商列表,从最开始的首选供应商。一个新的sslcontextspi SSLContext对象封装实现,支持特定协议的第一供应商返回。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
protocol
-请求的协议标准名称。看到有关标准协议名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation SSLContext时部分。
SSLContext
对象。
NoSuchAlgorithmException
-如果没有供应商的支持为指定的协议sslcontextspi实施。
NullPointerException
如果协议是无效的。
Provider
public static SSLContext getInstance(String protocol, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
SSLContext
对象。
一个新的sslcontextspi SSLContext对象封装实现从指定的提供程序返回。指定的提供程序必须在安全提供程序列表中注册。
注意,注册商的列表可以通过Security.getProviders()
检索方法。
protocol
-请求的协议标准名称。看到有关标准协议名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation SSLContext时部分。
provider
-提供者的名称。
SSLContext
对象。
NoSuchAlgorithmException
-如果一个指定的协议sslcontextspi执行不可从指定的供应商。
NoSuchProviderException
-如果指定的供应商不在安全提供商注册名单。
IllegalArgumentException
如果提供者名称为空或空。
NullPointerException
如果协议是无效的。
Provider
public static SSLContext getInstance(String protocol, Provider provider) throws NoSuchAlgorithmException
SSLContext
对象。
一个新的sslcontextspi SSLContext对象封装实现从指定的提供程序对象返回。请注意,指定的提供程序对象不必在提供者列表中注册。
protocol
-请求的协议标准名称。看到有关标准协议名称的信息在
Java Cryptography Architecture Standard Algorithm Name Documentation SSLContext时部分。
provider
-提供程序实例。
SSLContext
对象。
NoSuchAlgorithmException
-如果一个指定的协议sslcontextspi执行不可从指定的提供程序对象。
IllegalArgumentException
如果供应商是空的。
NullPointerException
如果协议是无效的。
Provider
public final String getProtocol()
SSLContext
协议名称。
这是相同的名字,是在一个SSLContext
创建这个对象调用指定getInstance
。
SSLContext
对象协议名称。
public final Provider getProvider()
SSLContext
提供者。
SSLContext
对象的提供者
public final void init(KeyManager[] km, TrustManager[] tm, SecureRandom random) throws KeyManagementException
仅使用一个特定键和/或信任管理器实现类型的第一个实例。(例如,只有数组中的第一个javax.net.ssl.x509keymanager将被使用。)
km
-认证密钥或空的来源
tm
-同行认证信任决策或空的来源
random
-这种发电机或空的随机源
KeyManagementException
-如果操作失败
public final SSLSocketFactory getSocketFactory()
SocketFactory
对象。
SocketFactory
对象
IllegalStateException
-如果sslcontextimpl需要初始化,
init()
称尚未
public final SSLServerSocketFactory getServerSocketFactory()
ServerSocketFactory
对象。
ServerSocketFactory
对象
IllegalStateException
-如果sslcontextimpl需要初始化,
init()
称尚未
public final SSLEngine createSSLEngine()
SSLEngine
。
使用此工厂方法的应用程序提供了一个内部会话重用策略的提示。如果提示需要,createSSLEngine(String, int)
应该用来代替。
一些密码套件(如Kerberos)需要远程主机的信息,在这种情况下,该工厂方法不应该使用。
SSLEngine
对象
UnsupportedOperationException
-如果基础提供程序不执行操作。
IllegalStateException
-如果sslcontextimpl需要初始化,
init()
称尚未
public final SSLEngine createSSLEngine(String peerHost, int peerPort)
SSLEngine
咨询点信息。
使用此工厂方法的应用程序提供了一个内部会话重用策略的提示。
一些密码套件(如Kerberos)需要远程主机的信息,在这种情况下,peerhost需要指定。
peerHost
-主机的非权威的名字
peerPort
-非权威的港口
SSLEngine
对象
UnsupportedOperationException
-如果基础提供程序不执行操作。
IllegalStateException
-如果sslcontextimpl需要初始化,
init()
称尚未
public final SSLSessionContext getServerSessionContext()
在某些环境中,这种情况可能是不可用的,在这种情况下,该方法返回空。例如,当底层SSL提供商不提供sslsessioncontext接口的一个实现,该方法返回null。否则返回一个非空会话上下文。
public final SSLSessionContext getClientSessionContext()
在某些环境中,这种情况可能是不可用的,在这种情况下,该方法返回空。例如,当底层SSL提供商不提供sslsessioncontext接口的一个实现,该方法返回null。否则返回一个非空会话上下文。
public final SSLParameters getDefaultSSLParameters()
参数总是有密码套件和协议设置为非空值的数组。
UnsupportedOperationException
-如果默认SSL参数无法获得。
public final SSLParameters getSupportedSSLParameters()
参数总是有密码套件和协议设置为非空值的数组。
UnsupportedOperationException
如果支持SSL参数无法获得。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.