uTools-Manuals/docs/java/javax/xml/crypto/dsig/XMLSignatureFactory.html

1667 lines
95 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="Class XMLSignatureFactory">Class XMLSignatureFactory</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.xml.crypto.dsig.XMLSignatureFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">XMLSignatureFactory</span>
extends <a href="../../../../java/lang/Object.html" title="class in java.lang">Object</a></pre>
<div class="block">
<span>用于从头开始创建<a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="javax.xml.crypto.dsig中的接口"><code>XMLSignature</code></a>对象的工厂或从对应的XML表示中解组<code>XMLSignature</code>对象。</span>
<h2> <span>XMLSignatureFactory类型</span> </h2>
<p> <span><code>XMLSignatureFactory</code>每个实例<code>XMLSignatureFactory</code>支持特定的XML机制类型。</span> <span>要创建一个<code>XMLSignatureFactory</code> ,请调用静态<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getInstance-java.lang.String-"><code>getInstance</code></a>方法之一传递所需的XML机制类型例如</span> </p>
<blockquote>
<span><code> XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM"); </code></span>
</blockquote>
<p> <span>该工厂生产的对象将基于DOM并遵守API概述中<a href="../../../../../technotes/guides/security/xmldsig/overview.html#DOM Mechanism Requirements">DOM Mechanism Requirements</a>部分定义的DOM互操作性要求。</span> <span>有关标准机制类型的列表请参阅API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service Provider">Service Providers</a>部分。</span> </p>
<p> <span><code>XMLSignatureFactory</code>机制注册和加载<a href="../../../../java/security/Provider.html" title="java.security中的类">XMLSignatureFactory</a>实现。</span> <span>例如支持DOM机制的服务提供商将在<code>Provider</code>子类中<code>Provider</code>为:</span> </p>
<pre> <span>put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");</span> </pre>
<p> <span>实现必须最低限度地支持默认机制类型DOM。</span> </p>
<p> <span>注意,调用者必须使用相同<code>XMLSignatureFactory</code>实例创建<code>XMLStructure</code>个特定的<code>XMLSignature</code>即产生。</span> <span>如果来自不同提供商的<code>XMLStructure</code> s或不同的机制类型一起使用行为是未定义的。</span> </p>
<p> <span>此外,由本厂创建的<code>XMLStructure</code> s可能包含特定于<code>XMLSignature</code>状态,并不意图重复使用。</span> </p>
<h2> <span>从头创建XMLSignatures</span> </h2>
<p> <span>一旦创建了<code>XMLSignatureFactory</code> ,可以通过调用相应的方法来实例化对象。</span> <span>例如,可以通过调用<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-"><code>newReference</code></a>方法之一来创建一个<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a>实例。</span> </p>
<h2> <span>从XML解组XMLSignatures</span> </h2>
<p> <span>可替换地, <code>XMLSignature</code>可以从现有的XML表示通过调用创建<a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#unmarshalXMLSignature-javax.xml.crypto.dsig.XMLValidateContext-"><code>unmarshalXMLSignature</code></a>方法并传递它的特定机制- <a href="../../../../javax/xml/crypto/dsig/XMLValidateContext.html" title="javax.xml.crypto.dsig中的接口"><code>XMLValidateContext</code></a>包含XML内容实例</span> </p>
<pre> <span>DOMValidateContext context = new DOMValidateContext(key, signatureElement);
XMLSignature signature = factory.unmarshalXMLSignature(context);</span> </pre>
<span>每个<code>XMLSignatureFactory</code>必须支持该工厂类型所需的<code>XMLValidateContext</code>类型,但可能支持其他类型。</span>
<span>DOM <code>XMLSignatureFactory</code>必须支持<a href="../../../../javax/xml/crypto/dsig/dom/DOMValidateContext.html" title="javax.xml.crypto.dsig.dom中的类"><code>DOMValidateContext</code></a>对象。</span>
<h2> <span>将XMLSignatures签名和编组为XML</span> </h2>
<span>工厂创建的每个<code>XMLSignature</code>也可以通过调用<a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="javax.xml.crypto.dsig中的接口"><code>XMLSignature</code></a>对象的<a href="../../../../javax/xml/crypto/dsig/XMLSignature.html#sign-javax.xml.crypto.dsig.XMLSignContext-"><code>sign</code></a>方法,并传递给包含签名密钥和编组参数的机制特定<a href="../../../../javax/xml/crypto/dsig/XMLSignContext.html" title="javax.xml.crypto.dsig中的接口"><code>XMLSignContext</code></a>对象(见<a href="../../../../javax/xml/crypto/dsig/dom/DOMSignContext.html" title="javax.xml.crypto.dsig.dom中的类"><code>DOMSignContext</code></a> 编组为XML表示并签名。</span>
<span>例如:</span>
<pre> <span>DOMSignContext context = new DOMSignContext(privateKey, document);
signature.sign(context);</span> </pre>
<span><b>并发访问</b></span>
<p> <span>该类的静态方法保证线程安全。</span> <span>多个线程可以同时调用此类中定义的静态方法,而不会产生不良影响。</span> </p>
<p> <span>但是,对于此类定义的非静态方法,这不是真的。</span> <span>除非特定提供商另有说明,否则需要同时访问单个<code>XMLSignatureFactory</code>实例的线程应在其间同步并提供必要的锁定。</span> <span>多个线程每个操作不同的<code>XMLSignatureFactory</code>实例不需要同步。</span> </p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.6
</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/xml/crypto/dsig/XMLSignatureFactory.html#XMLSignatureFactory--">XMLSignatureFactory</a></span>()</code>
<div class="block">
默认构造函数,用于由子类调用。
</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="t3"><span><a href="javascript:show(4);">抽象方法</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>static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getInstance--">getInstance</a></span>()</code>
<div class="block">
返回一个
<code>XMLSignatureFactory</code>支持默认XML处理机制和表示类型“DOM”
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getInstance-java.lang.String-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType)</code>
<div class="block">
返回一个
<code>XMLSignatureFactory</code>支持指定的XML处理机制和表示类型比如“DOM”
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getInstance-java.lang.String-java.security.Provider-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType, <a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)</code>
<div class="block">
返回一个
<code>XMLSignatureFactory</code> ,它支持由指定的提供
<code>XMLSignatureFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getInstance-java.lang.String-java.lang.String-">getInstance</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> provider)</code>
<div class="block">
返回一个
<code>XMLSignatureFactory</code> ,它支持由指定提供
<code>XMLSignatureFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getKeyInfoFactory--">getKeyInfoFactory</a></span>()</code>
<div class="block">
返回一个
<code>KeyInfoFactory</code> ,创建
<code>KeyInfo</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/XMLSignatureFactory.html#getMechanismType--">getMechanismType</a></span>()</code>
<div class="block">
返回此
<code>XMLSignatureFactory</code> 例如“DOM”支持的XML处理机制和表示形式的类型。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<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/xml/crypto/dsig/XMLSignatureFactory.html#getProvider--">getProvider</a></span>()</code>
<div class="block">
返回此
<code>XMLSignatureFactory</code>的提供者。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/URIDereferencer.html" title="interface in javax.xml.crypto">URIDereferencer</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#getURIDereferencer--">getURIDereferencer</a></span>()</code>
<div class="block">
<span>返回对URIDereferencer的引用<code>URIDereferencer</code>默认情况下用于取消<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">引用<code>Reference</code></a>对象中的URI。</span>
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#isFeatureSupported-java.lang.String-">isFeatureSupported</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> feature)</code>
<div class="block">
指示是否支持指定的功能。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newCanonicalizationMethod-java.lang.String-javax.xml.crypto.dsig.spec.C14NMethodParameterSpec-">newCanonicalizationMethod</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">C14NMethodParameterSpec</a> params)</code>
<div class="block">
创建
<code>CanonicalizationMethod</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newCanonicalizationMethod-java.lang.String-javax.xml.crypto.XMLStructure-">newCanonicalizationMethod</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> params)</code>
<div class="block">
创建
<code>CanonicalizationMethod</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>abstract <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/XMLSignatureFactory.html#newDigestMethod-java.lang.String-javax.xml.crypto.dsig.spec.DigestMethodParameterSpec-">newDigestMethod</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">DigestMethodParameterSpec</a> params)</code>
<div class="block">
创建
<code>DigestMethod</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Manifest.html" title="interface in javax.xml.crypto.dsig">Manifest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newManifest-java.util.List-">newManifest</a></span>(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references)</code>
<div class="block">
<span>创建一个<code>Manifest</code> <code>Reference</code>的指定列表的<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">Manifest</a></span>
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Manifest.html" title="interface in javax.xml.crypto.dsig">Manifest</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newManifest-java.util.List-java.lang.String-">newManifest</a></span>(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
<span>创建一个<code>Manifest</code> ,其中包含<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a> s和可选id的指定列表。</span>
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-">newReference</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm)</code>
<div class="block">
使用指定的URI和摘要方法创建一个
<code>Reference</code>
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-java.util.List-javax.xml.crypto.Data-java.util.List-java.lang.String-java.lang.String-">newReference</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> appliedTransforms, <a href="../../../../javax/xml/crypto/Data.html" title="interface in javax.xml.crypto">Data</a> result, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
创建一个
<code>Reference</code>指定的参数。
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><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-">newReference</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
创建一个
<code>Reference</code>指定的参数。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><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-byte:A-">newReference</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id, byte[] digestValue)</code>
<div class="block">
创建
<code>Reference</code>使用指定的参数和预先计算的摘要值。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newSignatureMethod-java.lang.String-javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec-">newSignatureMethod</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">SignatureMethodParameterSpec</a> params)</code>
<div class="block">
创建
<code>SignatureMethod</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/SignatureProperties.html" title="interface in javax.xml.crypto.dsig">SignatureProperties</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newSignatureProperties-java.util.List-java.lang.String-">newSignatureProperties</a></span>(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> properties, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
<span>创建一个<code>SignatureProperties</code> ,其中包含<a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="javax.xml.crypto.dsig中的接口"><code>SignatureProperty</code></a> s和可选id的指定列表。</span>
</div> </td>
</tr>
<tr class="altColor" id="i20">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="interface in javax.xml.crypto.dsig">SignatureProperty</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newSignatureProperty-java.util.List-java.lang.String-java.lang.String-">newSignatureProperty</a></span>(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> content, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> target, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
<span>创建<code>SignatureProperty</code>包含指定的列表<a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a> S目标URI和可选id。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i21">
<td class="colFirst"><code>abstract <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/XMLSignatureFactory.html#newSignedInfo-javax.xml.crypto.dsig.CanonicalizationMethod-javax.xml.crypto.dsig.SignatureMethod-java.util.List-">newSignedInfo</a></span>(<a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> cm, <a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a> sm, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> references)</code>
<div class="block">
创建具有
<code>SignedInfo</code>的规范化和签名方法的SignedInfo以及一个或多个引用的列表。
</div> </td>
</tr>
<tr class="altColor" id="i22">
<td class="colFirst"><code>abstract <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/XMLSignatureFactory.html#newSignedInfo-javax.xml.crypto.dsig.CanonicalizationMethod-javax.xml.crypto.dsig.SignatureMethod-java.util.List-java.lang.String-">newSignedInfo</a></span>(<a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> cm, <a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a> sm, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> references, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</code>
<div class="block">
创建一个
<code>SignedInfo</code>指定的参数。
</div> </td>
</tr>
<tr class="rowColor" id="i23">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newTransform-java.lang.String-javax.xml.crypto.dsig.spec.TransformParameterSpec-">newTransform</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/dsig/spec/TransformParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">TransformParameterSpec</a> params)</code>
<div class="block">
创建
<code>Transform</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="altColor" id="i24">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newTransform-java.lang.String-javax.xml.crypto.XMLStructure-">newTransform</a></span>(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm, <a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> params)</code>
<div class="block">
创建
<code>Transform</code>针对指定的算法URI和参数。
</div> </td>
</tr>
<tr class="rowColor" id="i25">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/XMLObject.html" title="interface in javax.xml.crypto.dsig">XMLObject</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newXMLObject-java.util.List-java.lang.String-java.lang.String-java.lang.String-">newXMLObject</a></span>(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> content, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mimeType, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> encoding)</code>
<div class="block">
创建一个
<code>XMLObject</code>从指定的参数。
</div> </td>
</tr>
<tr class="altColor" id="i26">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-">newXMLSignature</a></span>(<a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> si, <a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> ki)</code>
<div class="block">
创建一个
<code>XMLSignature</code>并使用指定的
<code>SignedInfo</code>
<code>KeyInfo</code>对象的内容进行
<code>KeyInfo</code>
</div> </td>
</tr>
<tr class="rowColor" id="i27">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><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-">newXMLSignature</a></span>(<a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> si, <a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> ki, <a href="../../../../java/util/List.html" title="interface in java.util">List</a> objects, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id, <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> signatureValueId)</code>
<div class="block">
创建一个
<code>XMLSignature</code>并用指定的参数进行初始化。
</div> </td>
</tr>
<tr class="altColor" id="i28">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#unmarshalXMLSignature-javax.xml.crypto.XMLStructure-">unmarshalXMLSignature</a></span>(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> xmlStructure)</code>
<div class="block">
解组新的
<code>XMLSignature</code>从特定的机制,例如
<code>XMLStructure</code>实例。
</div> </td>
</tr>
<tr class="rowColor" id="i29">
<td class="colFirst"><code>abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html#unmarshalXMLSignature-javax.xml.crypto.dsig.XMLValidateContext-">unmarshalXMLSignature</a></span>(<a href="../../../../javax/xml/crypto/dsig/XMLValidateContext.html" title="interface in javax.xml.crypto.dsig">XMLValidateContext</a> context)</code>
<div class="block">
解组新的
<code>XMLSignature</code>从特定的机制,例如
<code>XMLValidateContext</code>实例。
</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="XMLSignatureFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>XMLSignatureFactory</h4> <pre>protected XMLSignatureFactory()</pre>
<div class="block">
默认构造函数,用于由子类调用。
</div> </li>
</ul> </li>
</ul>
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="getInstance-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType)</pre>
<div class="block">
<span>返回一个<code>XMLSignatureFactory</code>支持指定的XML处理机制和表示类型比如“DOM”</span>
<p> <span>此方法使用标准的JCA提供查找机制来查找并实例化<code>XMLSignatureFactory</code>实现期望的机构的类型。</span> <span>它通过注册安全性列表<code>Provider</code> s从最优选的<code>Provider</code></span> <span>返回支持指定机制的第一个<code>Provider</code>新的<code>XMLSignatureFactory</code>对象。</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>mechanismType</code> - XML处理机制和表示的类型。</span>
<span>有关标准机制类型的列表请参阅API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service Provider">Service Providers</a>部分。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>XMLSignatureFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>mechanismType</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> - 如果没有
<code>Provider</code>支持
<code>XMLSignatureFactory</code>机制的XMLSignatureFactory实现
</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/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType,
<a href="../../../../java/security/Provider.html" title="class in java.security">Provider</a> provider)</pre>
<div class="block">
<span>返回一个<code>XMLSignatureFactory</code> ,它支持由指定的提供<code>XMLSignatureFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”</span>
<span>请注意,指定的<code>Provider</code>对象不必在提供者列表中注册。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>mechanismType</code> - XML处理机制和表示的类型。</span>
<span>有关标准机制类型的列表请参阅API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service Provider">Service Providers</a>部分。</span>
</dd>
<dd>
<code>provider</code> -
<code>Provider</code>对象
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>XMLSignatureFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>provider</code>
<code>mechanismType</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> - 如果指定
<code>XMLSignatureFactory</code> XMLSignatureFactory实现从指定的
<code>Provider</code>对象不可
<code>Provider</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/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a> getInstance(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> provider)
throws <a href="../../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></pre>
<div class="block">
<span>返回一个<code>XMLSignatureFactory</code> ,它支持由指定的提供<code>XMLSignatureFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”</span>
<span>指定的提供者必须在安全提供程序列表中注册。</span>
<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>mechanismType</code> - XML处理机制和表示的类型。</span>
<span>有关标准机制类型的列表请参阅API概述的<a href="../../../../../technotes/guides/security/xmldsig/overview.html#Service Provider">Service Providers</a>部分。</span>
</dd>
<dd>
<code>provider</code> - 提供者的字符串名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>XMLSignatureFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/NoSuchProviderException.html" title="class in java.security">NoSuchProviderException</a></code> - 如果指定的提供程序未在安全提供程序列表中注册
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>provider</code>
<code>mechanismType</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> - 如果指定
<code>XMLSignatureFactory</code> XMLSignatureFactory实现不能从指定的提供者
</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--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getInstance</h4> <pre>public static <a href="../../../../javax/xml/crypto/dsig/XMLSignatureFactory.html" title="class in javax.xml.crypto.dsig">XMLSignatureFactory</a> getInstance()</pre>
<div class="block">
<span>返回一个<code>XMLSignatureFactory</code>支持默认XML处理机制和表示类型“DOM”</span>
<p> <span>此方法使用标准的JCA提供者查找机制来查找并实例化一个<code>XMLSignatureFactory</code>实现默认机制类型。</span> <span>它通过注册安全性列表<code>Provider</code> s从最优选的<code>Provider</code></span> <span>返回支持DOM机制的第一个<code>Provider</code>新的<code>XMLSignatureFactory</code>对象。</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="returnLabel">结果</span>
</dt>
<dd>
一个新的
<code>XMLSignatureFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> -如果没有
<code>Provider</code>支持一个
<code>XMLSignatureFactory</code>实施DOM机制
</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="getMechanismType--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getMechanismType</h4> <pre>public final <a href="../../../../java/lang/String.html" title="class in java.lang">String</a> getMechanismType()</pre>
<div class="block">
返回此
<code>XMLSignatureFactory</code> 例如“DOM”支持的XML处理机制和表示形式的类型。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
通过此支持的XML处理机制类型
<code>XMLSignatureFactory</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>XMLSignatureFactory</code>的提供者。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个
<code>XMLSignatureFactory</code>的提供者
</dd>
</dl> </li>
</ul> <a name="newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newXMLSignature</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a> newXMLSignature(<a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> si,
<a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> ki)</pre>
<div class="block">
创建
<code>XMLSignature</code>并使用指定的
<code>SignedInfo</code>
<code>KeyInfo</code>对象的内容进行
<code>KeyInfo</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>si</code> - 签名信息
</dd>
<dd>
<code>ki</code> - 关键信息(可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>XMLSignature</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>si</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newXMLSignature-javax.xml.crypto.dsig.SignedInfo-javax.xml.crypto.dsig.keyinfo.KeyInfo-java.util.List-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newXMLSignature</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a> newXMLSignature(<a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> si,
<a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> ki,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> objects,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> signatureValueId)</pre>
<div class="block">
创建一个
<code>XMLSignature</code>并用指定的参数进行初始化。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>si</code> - 签名的信息
</dd>
<dd>
<code>ki</code> - 关键信息(可能是
<code>null</code>
</dd>
<dd>
<span><code>objects</code> -列表<a href="../../../../javax/xml/crypto/dsig/XMLObject.html" title="javax.xml.crypto.dsig中的接口"><code>XMLObject</code></a> S可能是空的或<code>null</code> </span>
</dd>
<dd>
<code>id</code> - Id可能是
<code>null</code>
</dd>
<dd>
<code>signatureValueId</code> - SignatureValue Id可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>XMLSignature</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>si</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果任何
<code>objects</code>不是类型
<code>XMLObject</code>
</dd>
</dl> </li>
</ul> <a name="newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newReference</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a> newReference(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm)</pre>
<div class="block">
使用指定的URI和摘要方法创建一个
<code>Reference</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 参考URI可能为
<code>null</code>
</dd>
<dd>
<code>dm</code> - 摘要方法
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Reference</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>不符合RFC 2396标准
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>dm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-java.util.List-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newReference</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a> newReference(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
创建一个
<code>Reference</code>指定的参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 参考URI可能是
<code>null</code>
</dd>
<dd>
<code>dm</code> - 摘要方法
</dd>
<dd>
<span><code>transforms</code> -列表<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口"><code>Transform</code></a>秒。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dd>
<code>type</code> - 引用类型作为URI可能是
<code>null</code>
</dd>
<dd>
<code>id</code> - 参考ID可能为
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Reference</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>transforms</code>不是类型
<code>Transform</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>不符合RFC 2396标准
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>dm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-java.util.List-java.lang.String-java.lang.String-byte:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newReference</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a> newReference(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id,
byte[] digestValue)</pre>
<div class="block">
<span>创建<code>Reference</code>使用指定的参数和预先计算的摘要值。</span>
<p> <span>当先前已计算<code>Reference</code>的摘要值时,此方法很有用。</span> <span>参见例如<a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dss">OASIS-DSS (Digital Signature Services)</a>规范。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 参考URI可能是
<code>null</code>
</dd>
<dd>
<code>dm</code> - 摘要方法
</dd>
<dd>
<span><code>transforms</code> -列表<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口"><code>Transform</code></a>秒。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dd>
<code>type</code> - 引用类型作为URI可以是
<code>null</code>
</dd>
<dd>
<code>id</code> - 参考ID可能为
<code>null</code>
</dd>
<dd>
<span><code>digestValue</code> - 摘要值。</span>
<span>克隆阵列以防止后续修改。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Reference</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>transforms</code>不是类型
<code>Transform</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>不符合RFC 2396标准
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>dm</code>
<code>digestValue</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newReference-java.lang.String-javax.xml.crypto.dsig.DigestMethod-java.util.List-javax.xml.crypto.Data-java.util.List-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newReference</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Reference.html" title="interface in javax.xml.crypto.dsig">Reference</a> newReference(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> dm,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> appliedTransforms,
<a href="../../../../javax/xml/crypto/Data.html" title="interface in javax.xml.crypto">Data</a> result,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> transforms,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> type,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
<span>创建一个<code>Reference</code>指定的参数。</span>
<p> <span>当转换列表已经被应用于此方法非常有用<code>Reference</code></span> <span>参见例如<a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=dss">OASIS-DSS (Digital Signature Services)</a>规范。</span> </p>
<p> <span><code>XMLSignature</code>包含此引用的XMLSignature时指定的<code>transforms</code> (如果非空)将应用于指定的<code>result</code></span> <span><code>Transforms</code>元素的<code>Reference</code>元素设置为<code>appliedTransforms</code><code>transforms</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 参考URI可能是
<code>null</code>
</dd>
<dd>
<code>dm</code> - 摘要方法
</dd>
<dd>
<span><code>appliedTransforms</code> - 已经应用的<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口"><code>Transform</code></a>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>该列表必须至少包含一个条目。</span>
</dd>
<dd>
<code>result</code> - 处理appliedTransforms序列的
<code>appliedTransforms</code>
</dd>
<dd>
<span><code>transforms</code> - 生成<a href="../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口">签名</a>时要应用的<code>Transform</code>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dd>
<code>type</code> - 引用类型作为URI可以是
<code>null</code>
</dd>
<dd>
<code>id</code> - 参考ID可能为
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Reference</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>Transform</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>
<code>uri</code> RFC 2396或
<code>appliedTransforms</code>为空
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果
<code>dm</code>
<code>appliedTransforms</code>
<code>result</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newSignedInfo-javax.xml.crypto.dsig.CanonicalizationMethod-javax.xml.crypto.dsig.SignatureMethod-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newSignedInfo</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> newSignedInfo(<a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> cm,
<a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a> sm,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references)</pre>
<div class="block">
创建具有
<code>SignedInfo</code>的规范化和签名方法的SignedInfo以及一个或多个引用的列表。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>cm</code> - 规范化方法
</dd>
<dd>
<code>sm</code> - 签名方法
</dd>
<dd>
<span><code>references</code> - 一个或多个<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>SignedInfo</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>Reference</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>references</code>为空
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果有任何参数是
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newSignedInfo-javax.xml.crypto.dsig.CanonicalizationMethod-javax.xml.crypto.dsig.SignatureMethod-java.util.List-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newSignedInfo</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/SignedInfo.html" title="interface in javax.xml.crypto.dsig">SignedInfo</a> newSignedInfo(<a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> cm,
<a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a> sm,
<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
创建一个
<code>SignedInfo</code>指定的参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>cm</code> - 规范化方法
</dd>
<dd>
<code>sm</code> - 签名方法
</dd>
<dd>
<span><code>references</code> - 一个或多个<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dd>
<code>id</code> - id可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>SignedInfo</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>Reference</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>references</code>为空
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果
<code>cm</code>
<code>sm</code> ,或
<code>references</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newXMLObject-java.util.List-java.lang.String-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newXMLObject</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/XMLObject.html" title="interface in javax.xml.crypto.dsig">XMLObject</a> newXMLObject(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> content,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> mimeType,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> encoding)</pre>
<div class="block">
创建一个
<code>XMLObject</code>从指定的参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>content</code> -列表<a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a>秒。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dd>
<code>id</code> - Id可能是
<code>null</code>
</dd>
<dd>
<code>mimeType</code> - mime类型可能是
<code>null</code>
</dd>
<dd>
<code>encoding</code> - 编码(可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>XMLObject</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<span><code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>content</code>包含任何不是类型<a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code>的条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newManifest-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newManifest</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Manifest.html" title="interface in javax.xml.crypto.dsig">Manifest</a> newManifest(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references)</pre>
<div class="block">
<span>创建一个<code>Manifest</code> <code>Reference</code>的指定列表的<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">Manifest</a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>references</code> - 一个或多个<code>Reference</code>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Manifest</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>references</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>references</code>为空
</dd>
<dd>
<span><code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>references</code>包含任何不是<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a>类型的<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newManifest-java.util.List-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newManifest</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Manifest.html" title="interface in javax.xml.crypto.dsig">Manifest</a> newManifest(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> references,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
<span>创建一个<code>Manifest</code> <code>Reference</code> s和可选id的指定列表的<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">Manifest</a></span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>references</code> - 一个或多个<code>Reference</code>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dd>
<code>id</code> - id可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>Manifest</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>references</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>references</code>为空
</dd>
<dd>
<span><code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>references</code>包含任何不是<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口"><code>Reference</code></a>类型的<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newSignatureProperty-java.util.List-java.lang.String-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newSignatureProperty</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="interface in javax.xml.crypto.dsig">SignatureProperty</a> newSignatureProperty(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> content,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> target,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
<span>创建<code>SignatureProperty</code>包含指定的列表<a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a> S目标URI和可选id。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>content</code> - 一个或多个<code>XMLStructure</code>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dd>
<code>target</code> - 此属性应用于的签名的目标URI
</dd>
<dd>
<code>id</code> - id可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>SignatureProperty</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>content</code>
<code>target</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>content</code>为空
</dd>
<dd>
<span><code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>content</code>包含任何不是类型<a href="../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code>的条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newSignatureProperties-java.util.List-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newSignatureProperties</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/SignatureProperties.html" title="interface in javax.xml.crypto.dsig">SignatureProperties</a> newSignatureProperties(<a href="../../../../java/util/List.html" title="interface in java.util">List</a> properties,
<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> id)</pre>
<div class="block">
<span>创建一个<code>SignatureProperties</code> ,其中包含<a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="javax.xml.crypto.dsig中的接口"><code>SignatureProperty</code></a> s和可选id的指定列表。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>properties</code> - 一个或多个<code>SignatureProperty</code>的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dd>
<code>id</code> - id可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>SignatureProperties</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>properties</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>properties</code>为空
</dd>
<dd>
<span><code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>properties</code>包含任何不是<a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="javax.xml.crypto.dsig中的接口"><code>SignatureProperty</code></a>类型的<a href="../../../../javax/xml/crypto/dsig/SignatureProperty.html" title="javax.xml.crypto.dsig中的接口">条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newDigestMethod-java.lang.String-javax.xml.crypto.dsig.spec.DigestMethodParameterSpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newDigestMethod</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/DigestMethod.html" title="interface in javax.xml.crypto.dsig">DigestMethod</a> newDigestMethod(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/dsig/spec/DigestMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">DigestMethodParameterSpec</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
创建
<code>DigestMethod</code>针对指定的算法URI和参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 标识摘要算法的URI
</dd>
<dd>
<code>params</code> - 算法特定的摘要参数(可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>DigestMethod</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适合所请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newSignatureMethod-java.lang.String-javax.xml.crypto.dsig.spec.SignatureMethodParameterSpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newSignatureMethod</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/SignatureMethod.html" title="interface in javax.xml.crypto.dsig">SignatureMethod</a> newSignatureMethod(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/dsig/spec/SignatureMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">SignatureMethodParameterSpec</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
创建
<code>SignatureMethod</code>针对指定的算法URI和参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 识别签名算法的URI
</dd>
<dd>
<code>params</code> - 算法特定的签名参数(可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>SignatureMethod</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适合所请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newTransform-java.lang.String-javax.xml.crypto.dsig.spec.TransformParameterSpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newTransform</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a> newTransform(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/dsig/spec/TransformParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">TransformParameterSpec</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
创建
<code>Transform</code>针对指定的算法URI和参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 标识变换算法的URI
</dd>
<dd>
<code>params</code> - 算法特定的变换参数(可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Transform</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适合所请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newTransform-java.lang.String-javax.xml.crypto.XMLStructure-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newTransform</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/Transform.html" title="interface in javax.xml.crypto.dsig">Transform</a> newTransform(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
<span>创建<code>Transform</code>针对指定的算法URI和参数。</span>
<span>这些参数被指定为机制特定的<code>XMLStructure</code> (例如: <a href="../../../../javax/xml/crypto/dom/DOMStructure.html" title="javax.xml.crypto.dom中的类"><code>DOMStructure</code></a> )。</span>
<span>当这些参数是XML格式或没有用于指定参数的标准类时此方法很有用。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 标识变换算法的URI
</dd>
<dd>
<code>params</code> - 从中解除参数的机制特定的XML结构如果不需要或可选的话可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Transform</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>params</code>不适合此
<code>XMLSignatureFactory</code>
</dd>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适合所请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newCanonicalizationMethod-java.lang.String-javax.xml.crypto.dsig.spec.C14NMethodParameterSpec-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newCanonicalizationMethod</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> newCanonicalizationMethod(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/dsig/spec/C14NMethodParameterSpec.html" title="interface in javax.xml.crypto.dsig.spec">C14NMethodParameterSpec</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
创建
<code>CanonicalizationMethod</code>针对指定的算法URI和参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 标识规范化算法的URI
</dd>
<dd>
<code>params</code> - 算法特定的规范化参数(可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>CanonicalizationMethod</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适合所请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newCanonicalizationMethod-java.lang.String-javax.xml.crypto.XMLStructure-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newCanonicalizationMethod</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/CanonicalizationMethod.html" title="interface in javax.xml.crypto.dsig">CanonicalizationMethod</a> newCanonicalizationMethod(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> algorithm,
<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> params)
throws <a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a>,
<a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></pre>
<div class="block">
<span>创建<code>CanonicalizationMethod</code>针对指定的算法URI和参数。</span>
<span>这些参数被指定为机制特定的<code>XMLStructure</code> (例如: <a href="../../../../javax/xml/crypto/dom/DOMStructure.html" title="javax.xml.crypto.dom中的类"><code>DOMStructure</code></a> )。</span>
<span>当这些参数是XML格式或没有用于指定参数的标准类时此方法很有用。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>algorithm</code> - 标识规范化算法的URI
</dd>
<dd>
<code>params</code> - 从中解除参数的机制特定的XML结构如果不需要或可选的话可以是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>CanonicalizationMethod</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>params</code>不适合此
<code>XMLSignatureFactory</code>
</dd>
<dd>
<code><a href="../../../../java/security/InvalidAlgorithmParameterException.html" title="class in java.security">InvalidAlgorithmParameterException</a></code> - 如果指定的参数不适用于请求的算法
</dd>
<dd>
<code><a href="../../../../java/security/NoSuchAlgorithmException.html" title="class in java.security">NoSuchAlgorithmException</a></code> - 如果找不到指定算法的实现
</dd>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>algorithm</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getKeyInfoFactory--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getKeyInfoFactory</h4> <pre>public final <a href="../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</a> getKeyInfoFactory()</pre>
<div class="block">
<span>返回<code>KeyInfoFactory</code>创建<code>KeyInfo</code>对象。</span>
<span>返回的<code>KeyInfoFactory</code>具有与此<code>XMLSignatureFactory</code>相同的机制类型和提供商。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>KeyInfoFactory</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> -如果
<code>KeyFactory</code>实现具有相同机制类型和提供不可用
</dd>
</dl> </li>
</ul> <a name="unmarshalXMLSignature-javax.xml.crypto.dsig.XMLValidateContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshalXMLSignature</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a> unmarshalXMLSignature(<a href="../../../../javax/xml/crypto/dsig/XMLValidateContext.html" title="interface in javax.xml.crypto.dsig">XMLValidateContext</a> context)
throws <a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></pre>
<div class="block">
解组新的
<code>XMLSignature</code>从特定的机制,例如
<code>XMLValidateContext</code>实例。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>context</code> - 从中解除签名的机制特定上下文
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>XMLSignature</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>context</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> -如果类型
<code>context</code>不适合此工厂
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></code> - 如果在解组时出现不可恢复的异常
</dd>
</dl> </li>
</ul> <a name="unmarshalXMLSignature-javax.xml.crypto.XMLStructure-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>unmarshalXMLSignature</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/dsig/XMLSignature.html" title="interface in javax.xml.crypto.dsig">XMLSignature</a> unmarshalXMLSignature(<a href="../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> xmlStructure)
throws <a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></pre>
<div class="block">
<span>解组新的<code>XMLSignature</code>从特定的机制,例如<code>XMLStructure</code>实例。</span>
<span>如果您只想解散(而不是验证) <code>XMLSignature</code>则此方法很有用。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xmlStructure</code> - 从中解除签名的机制特定的XML结构
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>XMLSignature</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>xmlStructure</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> -如果类型
<code>xmlStructure</code>不适合此工厂
</dd>
<dd>
<code><a href="../../../../javax/xml/crypto/MarshalException.html" title="class in javax.xml.crypto">MarshalException</a></code> - 如果在解组期间发生不可恢复的异常
</dd>
</dl> </li>
</ul> <a name="isFeatureSupported-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>isFeatureSupported</h4> <pre>public abstract boolean isFeatureSupported(<a href="../../../../java/lang/String.html" title="class in java.lang">String</a> feature)</pre>
<div class="block">
指示是否支持指定的功能。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>feature</code> - 功能名称绝对URI
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>true</code>如果支持指定的功能,
<code>false</code> false
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>feature</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getURIDereferencer--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>getURIDereferencer</h4> <pre>public abstract <a href="../../../../javax/xml/crypto/URIDereferencer.html" title="interface in javax.xml.crypto">URIDereferencer</a> getURIDereferencer()</pre>
<div class="block">
<span>返回对URIDereferencer的引用<code>URIDereferencer</code>默认情况下用于取消<a href="../../../../javax/xml/crypto/dsig/Reference.html" title="javax.xml.crypto.dsig中的接口">引用<code>Reference</code></a>对象中的URI。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
参考默认值
<code>URIDereferencer</code> (从不
<code>null</code>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>