uTools-Manuals/docs/java/org/ietf/jgss/ChannelBinding.html

299 lines
14 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">
compact3
</div>
<div class="subTitle">
org.ietf.jgss
</div>
<h2 class="title" title="Class ChannelBinding">Class ChannelBinding</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>org.ietf.jgss.ChannelBinding</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public class <span class="typeNameLabel">ChannelBinding</span>
extends <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>该类封装了主叫方提供的通道绑定信息的概念。</span>
<span>信道绑定用于加强在上下文建立期间提供对等实体认证的质量。</span>
<span>它们使GSS-API调用者将安全上下文的建立与地址或应用程序特定数据等相关特性绑定。</span>
<p> <span>发起安全上下文的调用者必须确定要在GSSContext对象中设置的适当通道绑定值。</span> <span>接受者必须提供相同的绑定,以验证所接收的令牌具有正确的渠道相关特征。</span> </p>
<p> <span>通道绑定的使用在GSS-API中是可选的。</span> <span>ChannelBinding可以为被设置<a href="../../../org/ietf/jgss/GSSContext.html" title="org.ietf.jgss中的接口"><code>GSSContext</code></a>使用<a href="../../../org/ietf/jgss/GSSContext.html#setChannelBinding-org.ietf.jgss.ChannelBinding-"><code>setChannelBinding</code></a>第一呼叫之前方法<a href="../../../org/ietf/jgss/GSSContext.html#initSecContext-byte:A-int-int-"><code>initSecContext</code></a><a href="../../../org/ietf/jgss/GSSContext.html#acceptSecContext-byte:A-int-int-"><code>acceptSecContext</code></a>已经执行。</span> <span>除非已使用<code>setChannelBinding</code>方法设置GSSContext对象的<code>null</code>否则将假定<code>null</code> ChannelBinding。</span> </p>
<p> <span>从概念上讲GSS-API将启动器和接收器地址信息以及应用程序提供的字节数组连接起来形成一个八位组字符串。</span> <span>该机构计算移到该八位组串的MIC和结合的MIC通过发射的上下文建立令牌<code>initSecContext</code>所述的方法<code>GSSContext</code>接口。</span> <span>相同的绑定由上下文接受者为其<code>GSSContext</code>对象设置,并且在处理<code>acceptSecContext</code>方法期间以相同的方式计算MIC。</span> <span>计算出的MIC与在令牌中进行比较如果中等收入国家不同接受将抛出一个<code>GSSException</code>与主要代码设置为<a href="../../../org/ietf/jgss/GSSException.html#BAD_BINDINGS"><code>BAD_BINDINGS</code></a> ,以及上下文将不能成立。</span> <span>一些机制可以包括令牌中的实际信道绑定数据而不仅仅是MIC;</span> <span>因此,应用程序不应将机密数据用作通道绑定组件。</span> </p>
<p> <span>个别机制可能对通道绑定中可能出现的地址施加额外的限制。</span> <span>例如,机制可以验证信道绑定的发起者地址字段包含主机系统的正确网络地址。</span> <span>因此,便携式应用程序应确保它们为地址字段提供正确的信息,或省略寻址信息的设置。</span> </p>
</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="colOne" scope="col">Constructor and Description</th>
</tr>
<tr class="altColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#ChannelBinding-byte:A-">ChannelBinding</a></span>(byte[] appData)</code>
<div class="block">
创建一个没有任何寻址信息的ChannelBinding对象。
</div> </td>
</tr>
<tr class="rowColor">
<td class="colOne"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#ChannelBinding-java.net.InetAddress-java.net.InetAddress-byte:A-">ChannelBinding</a></span>(<a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> initAddr, <a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> acceptAddr, byte[] appData)</code>
<div class="block">
使用用户提供的地址信息和数据创建ChannelBinding对象。
</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="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>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#equals-java.lang.Object-">equals</a></span>(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</code>
<div class="block">
比较两个ChannelBinding实例。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#getAcceptorAddress--">getAcceptorAddress</a></span>()</code>
<div class="block">
获取该通道绑定的接受者的地址。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#getApplicationData--">getApplicationData</a></span>()</code>
<div class="block">
获取该通道绑定的应用程序指定的数据。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#getInitiatorAddress--">getInitiatorAddress</a></span>()</code>
<div class="block">
获取此通道绑定的启动器地址。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../org/ietf/jgss/ChannelBinding.html#hashCode--">hashCode</a></span>()</code>
<div class="block">
返回此ChannelBinding对象的哈希码值。
</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#finalize--">finalize</a>, <a href="../../../java/lang/Object.html#getClass--">getClass</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="ChannelBinding-java.net.InetAddress-java.net.InetAddress-byte:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>ChannelBinding</h4> <pre>public ChannelBinding(<a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> initAddr,
<a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> acceptAddr,
byte[] appData)</pre>
<div class="block">
<span>使用用户提供的地址信息和数据创建ChannelBinding对象。</span>
<span><code>null</code>值可用于应用程序不想指定的任何字段。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>initAddr</code> - 上下文发起者的地址。</span>
<span>可以提供<code>null</code>值来指示应用程序不想设置此值。</span>
</dd>
<dd>
<span><code>acceptAddr</code> - 上下文接收者的地址。</span>
<span>可以提供<code>null</code>值来指示应用程序不想设置此值。</span>
</dd>
<dd>
<span><code>appData</code> - 应用程序提供的数据,用作通道绑定的一部分。</span>
<span>可以提供<code>null</code>值来指示应用程序不想设置此值。</span>
</dd>
</dl> </li>
</ul> <a name="ChannelBinding-byte:A-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>ChannelBinding</h4> <pre>public ChannelBinding(byte[] appData)</pre>
<div class="block">
创建一个没有任何寻址信息的ChannelBinding对象。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>appData</code> - 应用提供的数据,用作通道绑定的一部分。
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getInitiatorAddress--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInitiatorAddress</h4> <pre>public <a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> getInitiatorAddress()</pre>
<div class="block">
获取此通道绑定的启动器地址。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>发起者的地址。</span>
<span>如果地址尚未设置,则返回<code>null</code></span>
</dd>
</dl> </li>
</ul> <a name="getAcceptorAddress--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getAcceptorAddress</h4> <pre>public <a href="../../../java/net/InetAddress.html" title="class in java.net">InetAddress</a> getAcceptorAddress()</pre>
<div class="block">
获取该通道绑定的接受者的地址。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>受理人的地址。</span>
<span>如果还没有设置地址则返回null。</span>
</dd>
</dl> </li>
</ul> <a name="getApplicationData--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getApplicationData</h4> <pre>public byte[] getApplicationData()</pre>
<div class="block">
获取该通道绑定的应用程序指定的数据。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>应用程序数据被用作ChannelBinding的一部分。</span>
<span><code>null</code>如果没有应用数据已被用于信道绑定指定被返回。</span>
</dd>
</dl> </li>
</ul> <a name="equals-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>equals</h4> <pre>public boolean equals(<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> obj)</pre>
<div class="block">
比较两个ChannelBinding实例。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#equals-java.lang.Object-">equals</a></code>
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>obj</code> - 另一个ChannelBinding来比较这个
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
如果两个ChannelBinding包含与启动器和接收器地址以及应用程序数据相同的值则为true。
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<span><a href="../../../java/lang/Object.html#hashCode--"><code>Object.hashCode()</code></a> <a href="../../../java/util/HashMap.html" title="java.util中的类"><code>HashMap</code></a></span>
</dd>
</dl> </li>
</ul> <a name="hashCode--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>hashCode</h4> <pre>public int hashCode()</pre>
<div class="block">
返回此ChannelBinding对象的哈希码值。
</div>
<dl>
<dt>
<span class="overrideSpecifyLabel">重写:</span>
</dt>
<dd>
<code><a href="../../../java/lang/Object.html#hashCode--">hashCode</a></code>
<code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个hashCode值
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../java/lang/Object.html#equals-java.lang.Object-"><code>Object.equals(java.lang.Object)</code></a>
<a href="../../../java/lang/System.html#identityHashCode-java.lang.Object-"><code>System.identityHashCode(java.lang.Object)</code></a>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>