uTools-Manuals/docs/java/javax/net/ssl/SSLContext.html

738 lines
36 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact1, compact2, compact3
</div>
<div class="subTitle">
javax.net.ssl
</div>
<h2 class="title" title="Class SSLContext">Class SSLContext</h2>
</div><div class="contentContainer">
<ul class="inheritance">
<li><a href="../../../java/lang/Object.html" title="class in java.lang">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>javax.net.ssl.SSLContext</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">SSLContext</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>这个类的实例代表一个安全的套接字协议实现,作为安全套接字工厂的工厂或<code>SSLEngine</code> s。</span>
<span>该类使用一组可选的密钥和信任管理器以及安全随机字节源进行初始化。</span>
<p> <span>Java平台的每个实现都需要支持以下标准<code>SSLContext</code>协议:</span> </p>
<ul>
<li> <span><tt>TLSv1</tt></span> </li>
</ul>
<span>该协议在描述<a href="../../../../technotes/guides/security/StandardNames.html#SSLContext">SSLContext section</a> Java加密体系结构标准算法名称的文档。</span>
<span>请参阅发行说明文件以了解是否支持其他算法。</span>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.4
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.summary">
<!-- --> </a> <h3>构造方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Constructor Summary table, listing constructors, and an explanation">
<caption>
<span>构造方法</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colLast" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#SSLContext-javax.net.ssl.SSLContextSpi-java.security.Provider-java.lang.String-">SSLContext</a></span>(<a href="../../../javax/net/ssl/SSLContextSpi.html" title="class in javax.net.ssl">SSLContextSpi</a> contextSpi, <a href="../../../java/security/Provider.html" title="class in java.security">Provider</a> provider, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)</code>
<div class="block">
创建一个SSLContext对象。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t1"><span><a href="javascript:show(1);">静态方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t4"><span><a href="javascript:show(8);">具体的方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLEngine.html" title="class in javax.net.ssl">SSLEngine</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#createSSLEngine--">createSSLEngine</a></span>()</code>
<div class="block">
使用这个上下文创建一个新的
<code>SSLEngine</code>
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLEngine.html" title="class in javax.net.ssl">SSLEngine</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#createSSLEngine-java.lang.String-int-">createSSLEngine</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> peerHost, int peerPort)</code>
<div class="block">
创建一个新
<code>SSLEngine</code>使用使用咨询等信息,这种情况下。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLSessionContext.html" title="interface in javax.net.ssl">SSLSessionContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getClientSessionContext--">getClientSessionContext</a></span>()</code>
<div class="block">
返回客户端会话上下文代表可在客户端SSL套接字握手阶段使用的SSL会话集。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getDefault--">getDefault</a></span>()</code>
<div class="block">
返回默认的SSL上下文。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLParameters.html" title="class in javax.net.ssl">SSLParameters</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getDefaultSSLParameters--">getDefaultSSLParameters</a></span>()</code>
<div class="block">
返回指示此SSL上下文默认设置的SSLParameters的副本。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code>static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getInstance-java.lang.String-">getInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)</code>
<div class="block">
返回一个
<code>SSLContext</code>指定安全套接字协议的
<code>SSLContext</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getInstance-java.lang.String-java.security.Provider-">getInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol, <a href="../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)</code>
<div class="block">
返回实现指定安全套接字协议的
<code>SSLContext</code>对象。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getInstance-java.lang.String-java.lang.String-">getInstance</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol, <a href="../../../java/lang/String.html" title="class in java.lang">String</a> provider)</code>
<div class="block">
返回一个
<code>SSLContext</code>指定安全套接字协议的
<code>SSLContext</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getProtocol--">getProtocol</a></span>()</code>
<div class="block">
返回此
<code>SSLContext</code>对象的协议名称。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code><a href="../../../java/security/Provider.html" title="class in java.security">Provider</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getProvider--">getProvider</a></span>()</code>
<div class="block">
返回此
<code>SSLContext</code>对象的提供者。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLSessionContext.html" title="interface in javax.net.ssl">SSLSessionContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getServerSessionContext--">getServerSessionContext</a></span>()</code>
<div class="block">
返回服务器会话上下文代表可在服务器端SSL套接字握手阶段使用的SSL会话集。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLServerSocketFactory.html" title="class in javax.net.ssl">SSLServerSocketFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getServerSocketFactory--">getServerSocketFactory</a></span>()</code>
<div class="block">
返回此上下文的一个
<code>ServerSocketFactory</code>对象。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLSocketFactory.html" title="class in javax.net.ssl">SSLSocketFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getSocketFactory--">getSocketFactory</a></span>()</code>
<div class="block">
返回此上下文的
<code>SocketFactory</code>对象。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code><a href="../../../javax/net/ssl/SSLParameters.html" title="class in javax.net.ssl">SSLParameters</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#getSupportedSSLParameters--">getSupportedSSLParameters</a></span>()</code>
<div class="block">
返回SSLParameters的副本表示支持的SSL上下文设置。
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#init-javax.net.ssl.KeyManager:A-javax.net.ssl.TrustManager:A-java.security.SecureRandom-">init</a></span>(<a href="../../../javax/net/ssl/KeyManager.html" title="interface in javax.net.ssl">KeyManager</a>[] km, <a href="../../../javax/net/ssl/TrustManager.html" title="interface in javax.net.ssl">TrustManager</a>[] tm, <a href="../../../java/security/SecureRandom.html" title="class in java.security">SecureRandom</a> random)</code>
<div class="block">
初始化此上下文。
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>static void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/net/ssl/SSLContext.html#setDefault-javax.net.ssl.SSLContext-">setDefault</a></span>(<a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> context)</code>
<div class="block">
设置默认的SSL上下文。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
<!-- --> </a> <h3>Methods inherited from class java.lang.<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></h3> <code><a href="../../../java/lang/Object.html#clone--">clone</a>, <a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a>, <a href="../../../java/lang/Object.html#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</a>, <a href="../../../java/lang/Object.html#hashCode--">hashCode</a>, <a href="../../../java/lang/Object.html#notify--">notify</a>, <a href="../../../java/lang/Object.html#notifyAll--">notifyAll</a>, <a href="../../../java/lang/Object.html#toString--">toString</a>, <a href="../../../java/lang/Object.html#wait--">wait</a>, <a href="../../../java/lang/Object.html#wait-long-">wait</a>, <a href="../../../java/lang/Object.html#wait-long-int-">wait</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
<!-- --> </a> <h3>构造方法详细信息</h3> <a name="SSLContext-javax.net.ssl.SSLContextSpi-java.security.Provider-java.lang.String-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>SSLContext</h4> <pre>protected SSLContext(<a href="../../../javax/net/ssl/SSLContextSpi.html" title="class in javax.net.ssl">SSLContextSpi</a> contextSpi,
<a href="../../../java/security/Provider.html" title="class in java.security">Provider</a> provider,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)</pre>
<div class="block">
创建一个SSLContext对象。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>contextSpi</code> - 代表
</dd>
<dd>
<code>provider</code> - 提供商
</dd>
<dd>
<code>protocol</code> - 协议
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getDefault--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefault</h4> <pre>public static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> getDefault()
throws <a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></pre>
<div class="block">
<span>返回默认的SSL上下文。</span>
<p> <span>如果使用<a href="../../../javax/net/ssl/SSLContext.html#setDefault-javax.net.ssl.SSLContext-"><code>SSLContext.setDefault()</code></a>方法设置了默认上下文,则返回它。</span> <span>否则,该方法的第一次调用将触发<code>SSLContext.getInstance("Default")</code></span> <span>如果成功该对象将成为默认的SSL上下文并返回。</span> </p>
<p> <span>默认上下文可立即使用,不需要<a href="../../../javax/net/ssl/SSLContext.html#init-javax.net.ssl.KeyManager:A-javax.net.ssl.TrustManager:A-java.security.SecureRandom-">initialization</a></span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
默认的SSL上下文
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果
<a href="../../../javax/net/ssl/SSLContext.html#getInstance-java.lang.String-"><code>SSLContext.getInstance()</code></a>调用失败
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="setDefault-javax.net.ssl.SSLContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setDefault</h4> <pre>public static void setDefault(<a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> context)</pre>
<div class="block">
<span>设置默认的SSL上下文。</span>
<span>随后的电话将返回给<a href="../../../javax/net/ssl/SSLContext.html#getDefault--"><code>getDefault()</code></a></span>
<span>默认上下文必须立即可用,不需要<a href="../../../javax/net/ssl/SSLContext.html#init-javax.net.ssl.KeyManager:A-javax.net.ssl.TrustManager:A-java.security.SecureRandom-">initialization</a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>context</code> - SSLContext
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果上下文为空
</dd>
<dd>
<code><a href="../../../java/lang/SecurityException.html" title="class in java.lang">SecurityException</a></code> - 如果存在安全管理员,并且其
<code>checkPermission</code>方法不允许
<code>SSLPermission("setDefaultSSLContext")</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="getInstance-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> getInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol)
throws <a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></pre>
<div class="block">
<span>返回一个<code>SSLContext</code>指定安全套接字协议的<code>SSLContext</code>对象。</span>
<p> <span>此方法遍历已注册的安全提供程序列表,从最优选的提供程序开始。</span> <span>返回从支持指定协议的第一个Provider中封装SSLContextSpi实现的新SSLContext对象。</span> </p>
<p> <span>请注意,注册提供商的列表可以通过<a href="../../../java/security/Security.html#getProviders--"><code>Security.getProviders()</code></a>方法<a href="../../../java/security/Security.html#getProviders--">检索</a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>protocol</code> - 所请求协议的标准名称。</span>
<span>看到的的SSLContext部分<a href="../../../../technotes/guides/security/StandardNames.html#SSLContext">Java Cryptography Architecture Standard Algorithm Name Documentation</a>有关标准协议名称的信息。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新的
<code>SSLContext</code>对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果没有提供者支持指定协议的SSLContextSpi实现。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果协议为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getInstance-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> getInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol,
<a href="../../../java/lang/String.html" title="class in java.lang">String</a> provider)
throws <a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></pre>
<div class="block">
<span>返回实现指定的安全套接字协议的<code>SSLContext</code>对象。</span>
<p> <span>返回从指定提供程序封装SSLContextSpi实现的新SSLContext对象。</span> <span>指定的提供者必须在安全提供程序列表中注册。</span> </p>
<p> <span>请注意,注册提供商的列表可以通过<a href="../../../java/security/Security.html#getProviders--"><code>Security.getProviders()</code></a>方法<a href="../../../java/security/Security.html#getProviders--">检索</a></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>protocol</code> - 请求协议的标准名称。</span>
<span>看到的的SSLContext部分<a href="../../../../technotes/guides/security/StandardNames.html#SSLContext">Java Cryptography Architecture Standard Algorithm Name Documentation</a>有关标准协议名称的信息。</span>
</dd>
<dd>
<code>provider</code> - 提供者的名称。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新的
<code>SSLContext</code>对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果指定协议的SSLContextSpi实现不可用于指定的提供程序。
</dd>
<dd>
<code><a href="../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></code> - 如果指定的提供程序未在安全提供程序列表中注册。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果提供者名称为空或为空。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果协议为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getInstance-java.lang.String-java.security.Provider-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../javax/net/ssl/SSLContext.html" title="class in javax.net.ssl">SSLContext</a> getInstance(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> protocol,
<a href="../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)
throws <a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></pre>
<div class="block">
<span>返回一个<code>SSLContext</code>指定安全套接字协议的<code>SSLContext</code>对象。</span>
<p> <span>返回从指定的Provider对象封装SSLContextSpi实现的新SSLContext对象。</span> <span>请注意指定的Provider对象不必在提供者列表中注册。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>protocol</code> - 请求协议的标准名称。</span>
<span>看到的的SSLContext部分<a href="../../../../technotes/guides/security/StandardNames.html#SSLContext">Java Cryptography Architecture Standard Algorithm Name Documentation</a>有关标准协议名称的信息。</span>
</dd>
<dd>
<code>provider</code> - 提供者的一个实例。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新的
<code>SSLContext</code>对象。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果指定协议的SSLContextSpi实现从指定的Provider对象中不可用。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果提供者为空。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果协议为空。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/security/Provider.html" title="java.security中的类"><code>Provider</code></a></span>
</dd>
</dl> </li>
</ul> <a name="getProtocol--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProtocol</h4> <pre>public final <a href="../../../java/lang/String.html" title="class in java.lang">String</a> getProtocol()</pre>
<div class="block">
<span>返回此<code>SSLContext</code>对象的协议名称。</span>
<p> <span>这是在创建此<code>SSLContext</code>对象的<code>getInstance</code>调用之一中指定的<code>getInstance</code></span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
该协议名称为
<code>SSLContext</code>对象。
</dd>
</dl> </li>
</ul> <a name="getProvider--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getProvider</h4> <pre>public final <a href="../../../java/security/Provider.html" title="class in java.security">Provider</a> getProvider()</pre>
<div class="block">
返回此
<code>SSLContext</code>对象的提供者。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个
<code>SSLContext</code>对象的提供者
</dd>
</dl> </li>
</ul> <a name="init-javax.net.ssl.KeyManager:A-javax.net.ssl.TrustManager:A-java.security.SecureRandom-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>init</h4> <pre>public final void init(<a href="../../../javax/net/ssl/KeyManager.html" title="interface in javax.net.ssl">KeyManager</a>[] km,
<a href="../../../javax/net/ssl/TrustManager.html" title="interface in javax.net.ssl">TrustManager</a>[] tm,
<a href="../../../java/security/SecureRandom.html" title="class in java.security">SecureRandom</a> random)
throws <a href="../../../java/security/KeyManagementException.html" title="class in java.security">KeyManagementException</a></pre>
<div class="block">
<span>初始化此上下文。</span>
<span>前两个参数中的任一个可能为null在这种情况下安装的安全提供程序将被搜索适当工厂的最高优先级执行。</span>
<span>同样,安全随机参数可以为空,在这种情况下,将使用默认实现。</span>
<p> <span>仅使用数组中特定键和/或信任管理器实现类型的第一个实例。</span> <span>例如将仅使用数组中的第一个javax.net.ssl.X509KeyManager。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>km</code> - 认证密钥的来源或null
</dd>
<dd>
<code>tm</code> - 对等认证信任决策的来源或null
</dd>
<dd>
<code>random</code> - 此生成器的随机源或null
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/security/KeyManagementException.html" title="class in java.security">KeyManagementException</a></code> - 如果此操作失败
</dd>
</dl> </li>
</ul> <a name="getSocketFactory--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSocketFactory</h4> <pre>public final <a href="../../../javax/net/ssl/SSLSocketFactory.html" title="class in javax.net.ssl">SSLSocketFactory</a> getSocketFactory()</pre>
<div class="block">
为此上下文返回一个
<code>SocketFactory</code>对象。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>SocketFactory</code>对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果SSLContextImpl需要初始化并且尚未调用
<code>init()</code>
</dd>
</dl> </li>
</ul> <a name="getServerSocketFactory--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getServerSocketFactory</h4> <pre>public final <a href="../../../javax/net/ssl/SSLServerSocketFactory.html" title="class in javax.net.ssl">SSLServerSocketFactory</a> getServerSocketFactory()</pre>
<div class="block">
返回此上下文的
<code>ServerSocketFactory</code>对象。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>ServerSocketFactory</code>对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果SSLContextImpl需要初始化并且
<code>init()</code>尚未被调用
</dd>
</dl> </li>
</ul> <a name="createSSLEngine--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSSLEngine</h4> <pre>public final <a href="../../../javax/net/ssl/SSLEngine.html" title="class in javax.net.ssl">SSLEngine</a> createSSLEngine()</pre>
<div class="block">
<span>使用这个上下文创建一个新的<code>SSLEngine</code></span>
<p> <span>使用此工厂方法的应用程序不提供内部会话重用策略的提示。</span> <span>如果需要提示,应该使用<a href="../../../javax/net/ssl/SSLContext.html#createSSLEngine-java.lang.String-int-"><code>createSSLEngine(String, int)</code></a></span> </p>
<p> <span>某些密码套件如Kerberos需要远程主机名信息在这种情况下不应使用此工厂方法。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>SSLEngine</code>对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果底层提供程序未实现该操作。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果SSLContextImpl需要初始化并且尚未调用
<code>init()</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="createSSLEngine-java.lang.String-int-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>createSSLEngine</h4> <pre>public final <a href="../../../javax/net/ssl/SSLEngine.html" title="class in javax.net.ssl">SSLEngine</a> createSSLEngine(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> peerHost,
int peerPort)</pre>
<div class="block">
<span>创建一个新<code>SSLEngine</code>使用使用咨询等信息,这种情况下。</span>
<p> <span>使用此工厂方法的应用程序正在为内部会话重用策略提供提示。</span> </p>
<p> <span>某些密码套件如Kerberos需要远程主机名信息在这种情况下需要指定peerHost。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>peerHost</code> - 主机的非权威名称
</dd>
<dd>
<code>peerPort</code> - 非权威端口
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
新的
<code>SSLEngine</code>对象
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果底层提供程序未实现该操作。
</dd>
<dd>
<code><a href="../../../java/lang/IllegalStateException.html" title="class in java.lang">IllegalStateException</a></code> - 如果SSLContextImpl需要初始化并且尚未调用
<code>init()</code>
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
</dl> </li>
</ul> <a name="getServerSessionContext--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getServerSessionContext</h4> <pre>public final <a href="../../../javax/net/ssl/SSLSessionContext.html" title="interface in javax.net.ssl">SSLSessionContext</a> getServerSessionContext()</pre>
<div class="block">
<span>返回服务器会话上下文代表可在服务器端SSL套接字握手阶段使用的SSL会话集。</span>
<p> <span>这种情况在某些环境中可能不可用在这种情况下此方法返回null。</span> <span>例如当底层SSL提供程序不提供SSLSessionContext接口的实现时此方法返回null。</span> <span>否则返回非空会话上下文。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
服务器会话上下文绑定到此SSL上下文
</dd>
</dl> </li>
</ul> <a name="getClientSessionContext--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getClientSessionContext</h4> <pre>public final <a href="../../../javax/net/ssl/SSLSessionContext.html" title="interface in javax.net.ssl">SSLSessionContext</a> getClientSessionContext()</pre>
<div class="block">
<span>返回客户端会话上下文代表可在客户端SSL套接字握手阶段使用的SSL会话集。</span>
<p> <span>这种情况在某些环境中可能不可用在这种情况下此方法返回null。</span> <span>例如当底层SSL提供程序不提供SSLSessionContext接口的实现时此方法返回null。</span> <span>否则返回非空会话上下文。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
客户端会话上下文绑定到此SSL上下文
</dd>
</dl> </li>
</ul> <a name="getDefaultSSLParameters--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDefaultSSLParameters</h4> <pre>public final <a href="../../../javax/net/ssl/SSLParameters.html" title="class in javax.net.ssl">SSLParameters</a> getDefaultSSLParameters()</pre>
<div class="block">
<span>返回指示此SSL上下文默认设置的SSLParameters的副本。</span>
<p> <span>参数将始终将密码套件和协议数组设置为非空值。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
具有默认设置的SSLParameters对象的副本
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果无法获取默认的SSL参数。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> <a name="getSupportedSSLParameters--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getSupportedSSLParameters</h4> <pre>public final <a href="../../../javax/net/ssl/SSLParameters.html" title="class in javax.net.ssl">SSLParameters</a> getSupportedSSLParameters()</pre>
<div class="block">
<span>返回SSLParameters的副本表示支持的SSL上下文设置。</span>
<p> <span>参数将始终将密码套件和协议数组设置为非空值。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
具有支持的设置的SSLParameters对象的副本
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/UnsupportedOperationException.html" title="class in java.lang">UnsupportedOperationException</a></code> - 如果无法获得支持的SSL参数。
</dd>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>