397 lines
19 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 XMLSignature">Interface XMLSignature</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/XMLStructure.html" title="javax.xml.crypto中的接口">XMLStructure</a></span>
</dd>
</dl>
<hr/> <br/> <pre>public interface <span class="typeNameLabel">XMLSignature</span>
extends <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中定义的XML <code>Signature</code>元素的<a href="http://www.w3.org/TR/xmldsig-core/">表示</a></span>
<span>此类包含使用W3C规范定义的行为签名和验证XML签名的方法。</span>
<span>XML模式定义定义为</span>
<pre> <span><code> &lt;element name="Signature" type="ds:SignatureType"/&gt; &lt;complexType name="SignatureType"&gt; &lt;sequence&gt; &lt;element ref="ds:SignedInfo"/&gt; &lt;element ref="ds:SignatureValue"/&gt; &lt;element ref="ds:KeyInfo" minOccurs="0"/&gt; &lt;element ref="ds:Object" minOccurs="0" maxOccurs="unbounded"/&gt; &lt;/sequence&gt; &lt;attribute name="Id" type="ID" use="optional"/&gt; &lt;/complexType&gt; </code></span> </pre>
<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#newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-"><code>newXMLSignature</code></a>方法之一来创建一个<code>XMLSignature</code>实例。</span> </p>
<p> <span>如果随后修改包含<code>XMLSignature</code>的基础文档的内容,则行为是未定义的。</span> </p>
<p> <span>请注意,此类名称为<code>XMLSignature</code>而不是<code>Signature</code> ,以避免与现有的<a href="../../../../java/security/Signature.html" title="java.security中的类"><code>java.security.Signature</code></a>类命名冲突。</span> </p>
</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#newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-"><code>XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo)</code></a>
<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-java.util.List-java.lang.String-java.lang.String-"><code>XMLSignatureFactory.newXMLSignature(SignedInfo, KeyInfo, List, String, String)</code></a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<ul class="blockList">
<li class="blockList"><a name="nested.class.summary">
<!-- --> </a> <h3>Nested Class Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Nested Class Summary table, listing nested classes, and an explanation">
<caption>
<span>Nested Classes</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Interface and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static interface </code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.SignatureValue.html" title="interface in javax.xml.crypto.dsig">XMLSignature.SignatureValue</a></span></code>
<div class="block">
W3C Recommendation for XML-Signature Syntax and Processing中定义的XML
<code>SignatureValue</code>元素的
<a href="http://www.w3.org/TR/xmldsig-core/">表示</a>
</div> </td>
</tr>
</tbody>
</table> </li>
</ul>
<!-- =========== FIELD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.summary">
<!-- --> </a> <h3>Field Summary</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Field Summary table, listing fields, and an explanation">
<caption>
<span>Fields</span>
<span class="tabEnd"> </span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <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/XMLSignature.html#XMLNS">XMLNS</a></span></code>
<div class="block">
用于XML签名语法和处理的W3C建议书的XML命名空间URI。
</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="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><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/XMLSignature.html#getId--">getId</a></span>()</code>
<div class="block">
返回此
<code>XMLSignature</code>的可选ID。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#getKeyInfo--">getKeyInfo</a></span>()</code>
<div class="block">
返回此
<code>XMLSignature</code>的关键信息。
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/KeySelectorResult.html" title="interface in javax.xml.crypto">KeySelectorResult</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#getKeySelectorResult--">getKeySelectorResult</a></span>()</code>
<div class="block">
<span>返回<a href="../../../../javax/xml/crypto/KeySelector.html" title="javax.xml.crypto中的类"><code>KeySelector</code></a>的结果,如果指定,则此<code>XMLSignature</code>已经签名或验证。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<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/XMLSignature.html#getObjects--">getObjects</a></span>()</code>
<div class="block">
<span>返回此<a href="../../../../java/util/Collections.html#unmodifiableList-java.util.List-">XMLSignature</a><a href="../../../../javax/xml/crypto/dsig/XMLObject.html" title="javax.xml.crypto.dsig中的接口">包含</a><code>XMLObject</code><code>XMLSignature</code></span>
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/dsig/XMLSignature.SignatureValue.html" title="interface in javax.xml.crypto.dsig">XMLSignature.SignatureValue</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#getSignatureValue--">getSignatureValue</a></span>()</code>
<div class="block">
返回此签名值
<code>XMLSignature</code>
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#getSignedInfo--">getSignedInfo</a></span>()</code>
<div class="block">
返回此
<code>XMLSignature</code>的签名信息。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#sign-javax.xml.crypto.dsig.XMLSignContext-">sign</a></span>(<a href="../../../../javax/xml/crypto/dsig/XMLSignContext.html" title="interface in javax.xml.crypto.dsig">XMLSignContext</a> signContext)</code>
<div class="block">
标志这
<code>XMLSignature</code>
</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/XMLSignature.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">
根据core validation processing rules验证
<a href="http://www.w3.org/TR/xmldsig-core/#sec-CoreValidation">签名</a>
</div> </td>
</tr>
</tbody>
</table>
<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">
<!-- ============ FIELD DETAIL =========== -->
<ul class="blockList">
<li class="blockList"><a name="field.detail">
<!-- --> </a> <h3>字段详细信息</h3> <a name="XMLNS">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>XMLNS</h4> <pre>static final <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> XMLNS</pre>
<div class="block">
用于XML签名语法和处理的W3C建议书的XML命名空间URI。
</div>
<dl>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="../../../../constant-values.html#javax.xml.crypto.dsig.XMLSignature.XMLNS">Constant Field Values</a>
</dd>
</dl> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <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>根据core validation processing rules验证<a href="http://www.w3.org/TR/xmldsig-core/#sec-CoreValidation">签名</a></span>
<span>该方法使用现有的状态验证签名,它并没有解组和重新初始化的内容<code>XMLSignature</code>使用在上下文中指定的位置信息。</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>
<code>true</code>如果签名通过核心验证,否则
<code>false</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> -如果类型
<code>validateContext</code>不符合此兼容
<code>XMLSignature</code>
</dd>
<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="getKeyInfo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getKeyInfo</h4> <pre><a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> getKeyInfo()</pre>
<div class="block">
返回此
<code>XMLSignature</code>的关键信息。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
关键信息(可能为
<code>null</code>如果未指定)
</dd>
</dl> </li>
</ul> <a name="getSignedInfo--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSignedInfo</h4> <pre><a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> getSignedInfo()</pre>
<div class="block">
返回此
<code>XMLSignature</code>的签名信息。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
签名信息(从不
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getObjects--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getObjects</h4> <pre><a href="../../../../java/util/List.html" title="interface in java.util">List</a> getObjects()</pre>
<div class="block">
<span>返回此<a href="../../../../java/util/Collections.html#unmodifiableList-java.util.List-">XMLSignature</a><a href="../../../../javax/xml/crypto/dsig/XMLObject.html" title="javax.xml.crypto.dsig中的接口">包含的<code>XMLObject</code></a> s的<code>XMLSignature</code></span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个可修改列表
<code>XMLObject</code> S可能是空的但从来没有
<code>null</code>
</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>XMLSignature</code>的可选ID。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
的Id可以是
<code>null</code>如果未指定)
</dd>
</dl> </li>
</ul> <a name="getSignatureValue--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getSignatureValue</h4> <pre><a href="../../../../javax/xml/crypto/dsig/XMLSignature.SignatureValue.html" title="interface in javax.xml.crypto.dsig">XMLSignature.SignatureValue</a> getSignatureValue()</pre>
<div class="block">
返回此签名值
<code>XMLSignature</code>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
签名值
</dd>
</dl> </li>
</ul> <a name="sign-javax.xml.crypto.dsig.XMLSignContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>sign</h4> <pre>void sign(<a href="../../../../javax/xml/crypto/dsig/XMLSignContext.html" title="interface in javax.xml.crypto.dsig">XMLSignContext</a> signContext)
throws <a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a>,
<a href="../../../../javax/xml/crypto/dsig/XMLSignatureException.html" title="class in javax.xml.crypto.dsig">XMLSignatureException</a></pre>
<div class="block">
<span>标志这<code>XMLSignature</code></span>
<p> <span>如果此方法引发异常,则此<code>XMLSignature</code><code>signContext</code>参数将保留在调用之前的状态。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>signContext</code> - 签名上下文
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> -如果类型
<code>signContext</code>不符合此兼容
<code>XMLSignature</code>
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>signContext</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></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="getKeySelectorResult--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getKeySelectorResult</h4> <pre><a href="../../../../javax/xml/crypto/KeySelectorResult.html" title="interface in javax.xml.crypto">KeySelectorResult</a> getKeySelectorResult()</pre>
<div class="block">
<span>返回<a href="../../../../javax/xml/crypto/KeySelector.html" title="javax.xml.crypto中的类"><code>KeySelector</code></a>的结果,如果指定,则此<code>XMLSignature</code>已签署或验证。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
键选择器结果,或
<code>null</code>如果没有指定键选择器或此
<code>XMLSignature</code>尚未签名或验证
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>