328 lines
15 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">
javax.xml.crypto.dsig
</div>
<h2 class="title" title="Interface Reference">Interface Reference</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>
All Superinterfaces:
</dt>
<dd>
<span><a href="../../../../javax/xml/crypto/URIReference.html" title="javax.xml.crypto中的接口">URIReference</a> <a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口">XMLStructure</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">Reference</span>
extends <a href="../../../../javax/xml/crypto/URIReference.html" title="interface in javax.xml.crypto">URIReference</a>, <a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a></pre>
<div class="block">
<span>W3C Recommendation for XML-Signature Syntax and Processing中定义的<code>Reference</code>元素的<a href="http://www.w3.org/TR/xmldsig-core/">表示</a></span>
<span>XML模式定义为 <code><pre>
&lt;element name="Reference" type="ds:ReferenceType"/&gt;
&lt;complexType name="ReferenceType"&gt;
&lt;sequence&gt;
&lt;element ref="ds:Transforms" minOccurs="0"/&gt;
&lt;element ref="ds:DigestMethod"/&gt;
&lt;element ref="ds:DigestValue"/&gt;
&lt;/sequence&gt;
&lt;attribute name="Id" type="ID" use="optional"/&gt;
&lt;attribute name="URI" type="anyURI" use="optional"/&gt;
&lt;attribute name="Type" type="anyURI" use="optional"/&gt;
&lt;/complexType&gt;
&lt;element name="DigestValue" type="ds:DigestValueType"/&gt;
&lt;simpleType name="DigestValueType"&gt;
&lt;restriction base="base64Binary"/&gt;
&lt;/simpleType&gt;
</pre></code></span>
<p> <span>可以通过调用<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="javax.xml.crypto.dsig中的类"><code>XMLSignatureFactory</code></a>类的<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-"><code>newReference</code></a>方法之一创建<code>Reference</code>实例。</span> <span>例如:</span> </p>
<pre> <span>XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
Reference ref = factory.newReference
("http://www.ietf.org/rfc/rfc3275.txt",
factory.newDigestMethod(DigestMethod.SHA1, null));</span> </pre>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-"><code>XMLSignatureFactory.newReference(String, DigestMethod)</code></a>
<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-java.util.List-java.lang.String-java.lang.String-"><code>XMLSignatureFactory.newReference(String, DigestMethod, List, String, String)</code></a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== 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="t3"><span><a href="javascript:show(4);">抽象方法</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>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getCalculatedDigestValue--">getCalculatedDigestValue</a></span>()</code>
<div class="block">
在验证
<code>Reference</code>后返回此Reference的计算摘要值。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/Data.html" title="interface in javax.xml.crypto">Data</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getDereferencedData--">getDereferencedData</a></span>()</code>
<div class="block">
返回取消引用的数据,如果
<a href="XMLSignContext.html#Supported Properties">reference caching</a>启用。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../../java/io/InputStream.html" title="class in java.io">InputStream</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getDigestInputStream--">getDigestInputStream</a></span>()</code>
<div class="block">
如果启用了
<a href="XMLSignContext.html#Supported Properties">reference caching</a> ,则返回预消化的输入流。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getDigestMethod--">getDigestMethod</a></span>()</code>
<div class="block">
返回此
<code>Reference</code>的摘要方法。
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code>byte[]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getDigestValue--">getDigestValue</a></span>()</code>
<div class="block">
返回此
<code>Reference</code>的摘要值。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<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/xml/crypto/dsig/Reference.html#getId--">getId</a></span>()</code>
<div class="block">
返回此
<code>Reference</code>的可选
<code>Id</code>属性,该
<code>Reference</code>允许从其他地方引用该引用。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../../java/util/List.html" title="interface in java.util">List</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#getTransforms--">getTransforms</a></span>()</code>
<div class="block">
<span>返回此<a href="../../../../java/util/Collections.html#unmodifiableList-java.util.List-">Reference</a><a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口">包含的<code>Transform</code></a> s的<code>Reference</code></span>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/Reference.html#validate-javax.xml.crypto.dsig.XMLValidateContext-">validate</a></span>(<a href="../../../../javax/xml/crypto/dsig/XMLValidateContext.html" title="interface in javax.xml.crypto.dsig">XMLValidateContext</a> validateContext)</code>
<div class="block">
验证此引用。
</div> </td>
</tr>
</tbody>
</table>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.crypto.URIReference">
<!-- --> </a> <h3>Methods inherited from interface javax.xml.crypto.<a href="../../../../javax/xml/crypto/URIReference.html" title="interface in javax.xml.crypto">URIReference</a></h3> <code><a href="../../../../javax/xml/crypto/URIReference.html#getType--">getType</a>, <a href="../../../../javax/xml/crypto/URIReference.html#getURI--">getURI</a></code></li>
</ul>
<ul class="blockList">
<li class="blockList"><a name="methods.inherited.from.class.javax.xml.crypto.XMLStructure">
<!-- --> </a> <h3>Methods inherited from interface javax.xml.crypto.<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a></h3> <code><a href="../../../../javax/xml/crypto/XMLStructure.html#isFeatureSupported-java.lang.String-">isFeatureSupported</a></code></li>
</ul> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getTransforms--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getTransforms</h4> <pre><a href="../../../../java/util/List.html" title="interface in java.util">List</a> getTransforms()</pre>
<div class="block">
<span>返回此<a href="../../../../java/util/Collections.html#unmodifiableList-java.util.List-">Reference</a><a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口">包含的<code>Transform</code></a> s的<code>Reference</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个可修改列表
<code>Transform</code> S可能是空的但从来没有
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getDigestMethod--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDigestMethod</h4> <pre><a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> getDigestMethod()</pre>
<div class="block">
返回此
<code>Reference</code>的摘要方法。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
摘要方法
</dd>
</dl> </li>
</ul> <a name="getId--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getId</h4> <pre><a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getId()</pre>
<div class="block">
返回此
<code>Reference</code>的可选
<code>Id</code>属性,该
<code>Reference</code>允许从其他地方引用该引用。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
所述
<code>Id</code>属性(可以是
<code>null</code>如果未指定)
</dd>
</dl> </li>
</ul> <a name="getDigestValue--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDigestValue</h4> <pre>byte[] getDigestValue()</pre>
<div class="block">
返回此
<code>Reference</code>的摘要值。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>原始摘要值,或<code>null</code>如果此引用尚未消化。</span>
<span>此方法的每次调用都将返回一个新的克隆以防止后续修改。</span>
</dd>
</dl> </li>
</ul> <a name="getCalculatedDigestValue--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getCalculatedDigestValue</h4> <pre>byte[] getCalculatedDigestValue()</pre>
<div class="block">
<span>在验证<code>Reference</code>后返回此Reference的计算摘要值。</span>
<span>如果引用无法验证,此方法对于调试非常有用。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span>计算的摘要值,或<code>null</code>如果此引用尚未验证)。</span>
<span>此方法的每次调用都将返回一个新的克隆以防止后续修改。</span>
</dd>
</dl> </li>
</ul> <a name="validate-javax.xml.crypto.dsig.XMLValidateContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>validate</h4> <pre>boolean validate(<a href="../../../../javax/xml/crypto/dsig/XMLValidateContext.html" title="interface in javax.xml.crypto.dsig">XMLValidateContext</a> validateContext)
throws <a href="../../../../javax/xml/crypto/dsig/XMLSignatureException.html" title="class in javax.xml.crypto.dsig">XMLSignatureException</a></pre>
<div class="block">
<span>验证此引用。</span>
<span>此方法验证此引用的摘要。</span>
<p> <span>此方法仅在第一次调用时验证引用。</span> <span>在随后的调用中,它返回缓存的结果。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>validateContext</code> - 验证上下文
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<span><code>true</code>如果此引用已成功验证;</span>
<span><code>false</code>否则</span>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>validateContext</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/dsig/XMLSignatureException.html" title="class in javax.xml.crypto.dsig">XMLSignatureException</a></code> - 如果在验证引用时发生意外异常
</dd>
</dl> </li>
</ul> <a name="getDereferencedData--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getDereferencedData</h4> <pre><a href="../../../../javax/xml/crypto/Data.html" title="interface in javax.xml.crypto">Data</a> getDereferencedData()</pre>
<div class="block">
<span>返回取消引用的数据,如果<a href="XMLSignContext.html#Supported Properties">reference caching</a>启用。</span>
<span>这是在验证或生成操作期间取消引用此引用的URI的结果。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
取消引用的数据,或
<code>null</code>如果引用缓存未启用或该引用尚未生成或验证
</dd>
</dl> </li>
</ul> <a name="getDigestInputStream--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getDigestInputStream</h4> <pre><a href="../../../../java/io/InputStream.html" title="class in java.io">InputStream</a> getDigestInputStream()</pre>
<div class="block">
<span>返回预消化的输入流,如果启用了<a href="XMLSignContext.html#Supported Properties">reference caching</a></span>
<span>这是验证或签名操作期间摘要操作的输入。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
an input stream containing the pre-digested input, or
<code>null</code> if reference caching is not enabled or this reference has not been generated or validated
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>