1035 lines
55 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.keyinfo
</div>
<h2 class="title" title="Class KeyInfoFactory">Class KeyInfoFactory</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.keyinfo.KeyInfoFactory</li>
</ul> </li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public abstract class <span class="typeNameLabel">KeyInfoFactory</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/keyinfo/KeyInfo.html" title="javax.xml.crypto.dsig.keyinfo中的接口"><code>KeyInfo</code></a>对象的工厂或从相应的XML表示中解组<code>KeyInfo</code>对象。</span>
<p> <span><code>KeyInfoFactory</code>每个实例<code>KeyInfoFactory</code>支持特定的XML机制类型。</span> <span>要创建一个<code>KeyInfoFactory</code> ,请调用静态<a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#getInstance-java.lang.String-"><code>getInstance</code></a>方法之一传递所需的XML机制类型例如</span> </p>
<blockquote>
<span><code> KeyInfoFactory factory = KeyInfoFactory.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>KeyInfoFactory</code>机制注册和加载<a href="../../../../../java/security/Provider.html" title="java.security中的类">KeyInfoFactory</a>实现。</span> <span>例如支持DOM机制的服务提供商将在<code>Provider</code>子类中<code>Provider</code>为:</span> </p>
<pre> <span>put("KeyInfoFactory.DOM", "org.example.DOMKeyInfoFactory");</span> </pre>
<p> <span>此外,由该工厂创建的<code>XMLStructure</code> s可能包含特定于<code>KeyInfo</code>状态,并不意图重复使用。</span> </p>
<p> <span>实现必须最低限度地支持默认机制类型DOM。</span> </p>
<p> <span>注意,调用者必须使用相同<code>KeyInfoFactory</code>实例创建<code>XMLStructure</code>特定的第<code>KeyInfo</code>对象。</span> <span>如果来自不同提供商的<code>XMLStructure</code> s或不同机制类型一起使用行为是未定义的。</span> </p>
<p> <span><b>并发访问</b></span> </p>
<p> <span>该类的静态方法保证线程安全。</span> <span>多个线程可以同时调用此类中定义的静态方法,而不会产生不良影响。</span> </p>
<p> <span>但是,对于此类定义的非静态方法,这不是真的。</span> <span>除非特定提供者另有说明,否则需要同时访问单个<code>KeyInfoFactory</code>实例的线程应在其间同步并提供必要的锁定。</span> <span>每个操作不同<code>KeyInfoFactory</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/keyinfo/KeyInfoFactory.html#KeyInfoFactory--">KeyInfoFactory</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/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/keyinfo/KeyInfoFactory.html#getInstance--">getInstance</a></span>()</code>
<div class="block">
返回一个
<code>KeyInfoFactory</code>支持默认XML处理机制和表示类型“DOM”
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code>static <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/keyinfo/KeyInfoFactory.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>KeyInfoFactory</code>支持指定的XML处理机制和表示类型比如“DOM”
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code>static <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/keyinfo/KeyInfoFactory.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>KeyInfoFactory</code> ,它支持由指定的提供
<code>KeyInfoFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code>static <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/keyinfo/KeyInfoFactory.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>KeyInfoFactory</code> ,它支持由指定提供
<code>KeyInfoFactory</code>提供的请求的XML处理机制和表示类型例如“DOM”
</div> </td>
</tr>
<tr class="altColor" id="i4">
<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/keyinfo/KeyInfoFactory.html#getMechanismType--">getMechanismType</a></span>()</code>
<div class="block">
返回此
<code>KeyInfoFactory</code> 例如“DOM”支持的XML处理机制和表示形式
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<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/keyinfo/KeyInfoFactory.html#getProvider--">getProvider</a></span>()</code>
<div class="block">
返回此
<code>KeyInfoFactory</code>的提供者。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<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/keyinfo/KeyInfoFactory.html#getURIDereferencer--">getURIDereferencer</a></span>()</code>
<div class="block">
<span>返回对URIDereferencer的引用<code>URIDereferencer</code>默认情况下用于取消<a href="../../../../../javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html" title="javax.xml.crypto.dsig.keyinfo中的接口">引用<code>RetrievalMethod</code></a>对象中的URI。</span>
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code>abstract boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.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="altColor" id="i8">
<td class="colFirst"><code>abstract <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/keyinfo/KeyInfoFactory.html#newKeyInfo-java.util.List-">newKeyInfo</a></span>(<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> content)</code>
<div class="block">
创建包含
<code>KeyInfo</code>的关键信息类型列表的KeyInfo。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>abstract <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/keyinfo/KeyInfoFactory.html#newKeyInfo-java.util.List-java.lang.String-">newKeyInfo</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)</code>
<div class="block">
创建一个
<code>KeyInfo</code>其中包含指定的关键信息类型和可选标识列表。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyName.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyName</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newKeyName-java.lang.String-">newKeyName</a></span>(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> name)</code>
<div class="block">
从指定的名称创建一个
<code>KeyName</code>
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyValue.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyValue</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newKeyValue-java.security.PublicKey-">newKeyValue</a></span>(<a href="../../../../../java/security/PublicKey.html" title="interface in java.security">PublicKey</a> key)</code>
<div class="block">
从指定的公钥创建一个
<code>KeyValue</code>
</div> </td>
</tr>
<tr class="altColor" id="i12">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newPGPData-byte:A-">newPGPData</a></span>(byte[] keyId)</code>
<div class="block">
创建一个
<code>PGPData</code>根据指定的PGP公钥标识符。
</div> </td>
</tr>
<tr class="rowColor" id="i13">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newPGPData-byte:A-byte:A-java.util.List-">newPGPData</a></span>(byte[] keyId, byte[] keyPacket, <a href="../../../../../java/util/List.html" title="interface in java.util">List</a> other)</code>
<div class="block">
根据指定的PGP公开密钥标识符和可选的密钥材料数据包和外部元素列表创建
<code>PGPData</code>
</div> </td>
</tr>
<tr class="altColor" id="i14">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newPGPData-byte:A-java.util.List-">newPGPData</a></span>(byte[] keyPacket, <a href="../../../../../java/util/List.html" title="interface in java.util">List</a> other)</code>
<div class="block">
从指定的PGP密钥材料数据包和外部元素的可选列表中创建
<code>PGPData</code>
</div> </td>
</tr>
<tr class="rowColor" id="i15">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html" title="interface in javax.xml.crypto.dsig.keyinfo">RetrievalMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newRetrievalMethod-java.lang.String-">newRetrievalMethod</a></span>(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> uri)</code>
<div class="block">
从指定的URI创建一个
<code>RetrievalMethod</code>
</div> </td>
</tr>
<tr class="altColor" id="i16">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html" title="interface in javax.xml.crypto.dsig.keyinfo">RetrievalMethod</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newRetrievalMethod-java.lang.String-java.lang.String-java.util.List-">newRetrievalMethod</a></span>(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> uri, <a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> type, <a href="../../../../../java/util/List.html" title="interface in java.util">List</a> transforms)</code>
<div class="block">
创建
<code>RetrievalMethod</code>从指定的参数。
</div> </td>
</tr>
<tr class="rowColor" id="i17">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/X509Data.html" title="interface in javax.xml.crypto.dsig.keyinfo">X509Data</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newX509Data-java.util.List-">newX509Data</a></span>(<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> content)</code>
<div class="block">
创建一个
<code>X509Data</code>指定的X.509内容列表的X509Data。
</div> </td>
</tr>
<tr class="altColor" id="i18">
<td class="colFirst"><code>abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.html" title="interface in javax.xml.crypto.dsig.keyinfo">X509IssuerSerial</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfoFactory.html#newX509IssuerSerial-java.lang.String-java.math.BigInteger-">newX509IssuerSerial</a></span>(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> issuerName, <a href="../../../../../java/math/BigInteger.html" title="class in java.math">BigInteger</a> serialNumber)</code>
<div class="block">
从指定的X.500发行人可分辨名称和序列号创建
<code>X509IssuerSerial</code>
</div> </td>
</tr>
<tr class="rowColor" id="i19">
<td class="colFirst"><code>abstract <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/keyinfo/KeyInfoFactory.html#unmarshalKeyInfo-javax.xml.crypto.XMLStructure-">unmarshalKeyInfo</a></span>(<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="interface in javax.xml.crypto">XMLStructure</a> xmlStructure)</code>
<div class="block">
<span>从机制特定的<code>XMLStructure</code> (例如: <a href="../../../../../javax/xml/crypto/dom/DOMStructure.html" title="javax.xml.crypto.dom中的类"><code>DOMStructure</code></a> )实例解组新的<code>KeyInfo</code>实例。</span>
</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="KeyInfoFactory--">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>KeyInfoFactory</h4> <pre>protected KeyInfoFactory()</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/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</a> getInstance(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> mechanismType)</pre>
<div class="block">
<span>返回一个<code>KeyInfoFactory</code>支持指定的XML处理机制和表示类型比如“DOM”</span>
<p> <span>此方法使用标准的JCA提供查找机制来查找并实例化<code>KeyInfoFactory</code>实现期望的机构的类型。</span> <span>它通过注册安全性列表<code>Provider</code> s从最优选的<code>Provider</code></span> <span>返回支持指定机制的第一个<code>Provider</code>新的<code>KeyInfoFactory</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>KeyInfoFactory</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>KeyInfoFactory</code>机制的KeyInfoFactory实现
</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/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</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>KeyInfoFactory</code> ,它支持由指定的提供<code>KeyInfoFactory</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>KeyInfoFactory</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>provider</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> - 如果指定
<code>KeyInfoFactory</code> KeyInfoFactory实现从指定的
<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/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</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>KeyInfoFactory</code> ,它支持由指定的提供<code>KeyInfoFactory</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>KeyInfoFactory</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>mechanismType</code>
<code>provider</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../../javax/xml/crypto/NoSuchMechanismException.html" title="class in javax.xml.crypto">NoSuchMechanismException</a></code> - 如果指定
<code>KeyInfoFactory</code> KeyInfoFactory实现不能从指定的提供者
</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/keyinfo/KeyInfoFactory.html" title="class in javax.xml.crypto.dsig.keyinfo">KeyInfoFactory</a> getInstance()</pre>
<div class="block">
<span>返回一个<code>KeyInfoFactory</code>支持默认XML处理机制和表示类型“DOM”</span>
<p> <span>此方法使用标准的JCA提供者查找机制来查找并实例化一个<code>KeyInfoFactory</code>实现默认机制类型。</span> <span>它通过注册安全性列表<code>Provider</code> s从最优选的<code>Provider</code></span> <span>返回支持DOM机制的第一个<code>Provider</code>新的<code>KeyInfoFactory</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>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>Provider</code>支持
<code>KeyInfoFactory</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">
通过这个返回支持的XML处理机制和表示类型
<code>KeyInfoFactory</code> 比如“DOM”
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
通过此支持的XML处理机制类型
<code>KeyInfoFactory</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>KeyInfoFactory</code>的提供者。
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
这个
<code>KeyInfoFactory</code>的提供者
</dd>
</dl> </li>
</ul> <a name="newKeyInfo-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newKeyInfo</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> newKeyInfo(<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> content)</pre>
<div class="block">
创建包含
<code>KeyInfo</code>的关键信息类型列表的KeyInfo。
</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>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>KeyInfo</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>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="newKeyInfo-java.util.List-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newKeyInfo</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> newKeyInfo(<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)</pre>
<div class="block">
<span>创建一个<code>KeyInfo</code>其中包含指定的关键信息类型和可选标识列表。</span>
<span>所述<code>id</code>参数表示XML的值<code>ID</code>属性,是用于参考有用<code>KeyInfo</code>从其他XML结构。</span>
</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> s的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dd>
<code>id</code> - 一个XML的值
<code>ID</code> (可能是
<code>null</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>KeyInfo</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>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="newKeyName-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newKeyName</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyName.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyName</a> newKeyName(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> name)</pre>
<div class="block">
从指定的名称创建一个
<code>KeyName</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>name</code> - 标识密钥的名称
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>KeyName</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>name</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newKeyValue-java.security.PublicKey-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newKeyValue</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyValue.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyValue</a> newKeyValue(<a href="../../../../../java/security/PublicKey.html" title="interface in java.security">PublicKey</a> key)
throws <a href="../../../../../java/security/KeyException.html" title="class in java.security">KeyException</a></pre>
<div class="block">
从指定的公钥中创建一个
<code>KeyValue</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>key</code> - 公钥
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>KeyValue</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../../../java/security/KeyException.html" title="class in java.security">KeyException</a></code> - 如果
<code>key</code>的算法未被该
<code>KeyInfoFactory</code>识别或
<code>KeyInfoFactory</code>
</dd>
<dd>
<code><a href="../../../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>key</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="newPGPData-byte:A-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newPGPData</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a> newPGPData(byte[] keyId)</pre>
<div class="block">
创建一个
<code>PGPData</code>根据指定的PGP公钥标识符。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>keyId</code> - <a href="http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>第11.2节中定义的PGP公钥标识符。</span>
<span>克隆阵列以防止后续修改。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>PGPData</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>keyId</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果密钥ID不正确的格式
</dd>
</dl> </li>
</ul> <a name="newPGPData-byte:A-byte:A-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newPGPData</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a> newPGPData(byte[] keyId,
byte[] keyPacket,
<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> other)</pre>
<div class="block">
从指定的PGP公共密钥标识符和可选的密钥材料数据包和外部元素列表创建
<code>PGPData</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>keyId</code> - <a href="http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>第11.2节中定义的PGP公钥标识符。</span>
<span>克隆阵列以防止后续修改。</span>
</dd>
<dd>
<span><code>keyPacket</code> - <a href="http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>第5.5节定义的PGP密钥资料包。</span>
<span>克隆阵列以防止后续修改。</span>
<span>可能是<code>null</code></span>
</dd>
<dd>
<span><code>other</code> - 表示来自外部命名空间的元素的<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a> s的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>PGPData</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>keyId</code>
<code>null</code>
</dd>
<dd>
<span><code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果<code>keyId</code><code>keyPacket</code>不是正确的格式。</span>
<span>对于<code>keyPacket</code> ,检查数据包头的格式,并验证标签是否为密钥材料类型。</span>
<span>不检查数据包主体的内容和格式。</span>
</dd>
<dd>
<span><code><a href="../../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>other</code>包含任何不是类型<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code>的条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newPGPData-byte:A-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newPGPData</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/PGPData.html" title="interface in javax.xml.crypto.dsig.keyinfo">PGPData</a> newPGPData(byte[] keyPacket,
<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> other)</pre>
<div class="block">
从指定的PGP密钥材料数据包和外部元素的可选列表中创建
<code>PGPData</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>keyPacket</code> - <a href="http://www.ietf.org/rfc/rfc2440.txt">RFC 2440</a>第5.5节定义的PGP密钥资料包。</span>
<span>克隆阵列以防止后续修改。</span>
</dd>
<dd>
<span><code>other</code> - 表示来自外部命名空间的元素的<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a> s的列表。</span>
<span>该列表被防御复制以防止后续修改。</span>
<span>可能是<code>null</code>或空。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>PGPData</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>keyPacket</code>
<code>null</code>
</dd>
<dd>
<span><code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果<code>keyPacket</code>不是正确的格式。</span>
<span>对于<code>keyPacket</code> ,检查分组报头的格式,并验证其是否是类型密钥材料的标签。</span>
<span>不检查数据包主体的内容和格式。</span>
</dd>
<dd>
<span><code><a href="../../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>other</code>包含任何不是<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a>类型的<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口">条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newRetrievalMethod-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newRetrievalMethod</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html" title="interface in javax.xml.crypto.dsig.keyinfo">RetrievalMethod</a> newRetrievalMethod(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> uri)</pre>
<div class="block">
从指定的URI创建一个
<code>RetrievalMethod</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 标识要检索的
<code>KeyInfo</code>信息的URI
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>RetrievalMethod</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>uri</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>uri</code>不符合RFC 2396标准
</dd>
</dl> </li>
</ul> <a name="newRetrievalMethod-java.lang.String-java.lang.String-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newRetrievalMethod</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/RetrievalMethod.html" title="interface in javax.xml.crypto.dsig.keyinfo">RetrievalMethod</a> newRetrievalMethod(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> uri,
<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> type,
<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> transforms)</pre>
<div class="block">
创建
<code>RetrievalMethod</code>从指定的参数。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>uri</code> - 标识要检索的
<code>KeyInfo</code>信息的URI
</dd>
<dd>
<code>type</code> -一个URI标识的类型
<code>KeyInfo</code>信息被检索(可以是
<code>null</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>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>RetrievalMethod</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>uri</code>
<code>null</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>
<span><code><a href="../../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果<code>transforms</code>包含任何不是类型<a href="../../../../../javax/xml/crypto/dsig/Transform.html" title="javax.xml.crypto.dsig中的接口"><code>Transform</code>的条目</a></span>
</dd>
</dl> </li>
</ul> <a name="newX509Data-java.util.List-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newX509Data</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/X509Data.html" title="interface in javax.xml.crypto.dsig.keyinfo">X509Data</a> newX509Data(<a href="../../../../../java/util/List.html" title="interface in java.util">List</a> content)</pre>
<div class="block">
创建一个
<code>X509Data</code>指定的X.509内容列表的X509Data。
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>content</code> - 一个或多个X.509内容类型的列表。</span>
<span>有效的类型是<a href="../../../../../java/lang/String.html" title="java.lang中的类"><code>String</code></a> (主题名称), <code>byte[]</code> 受试者密钥ID <a href="../../../../../java/security/cert/X509Certificate.html" title="java.security.cert中的类"><code>X509Certificate</code></a> <a href="../../../../../java/security/cert/X509CRL.html" title="java.security.cert中的类"><code>X509CRL</code></a> ,或<a href="../../../../../javax/xml/crypto/XMLStructure.html" title="javax.xml.crypto中的接口"><code>XMLStructure</code></a> <a href="../../../../../javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.html" title="javax.xml.crypto.dsig.keyinfo中的接口"><code>X509IssuerSerial</code></a>从外部命名空间的物体或元件)。</span>
<span>主题名称是RFC 2253字符串格式的可分辨名称。</span>
<span>实现必须支持RFC 2253CNLSTOOUCSTREETDC和UID中定义的属性类型关键字。</span>
<span>实施可能支持其他关键字。</span>
<span>该列表被防御复制以防止后续修改。</span>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>X509Data</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>null</code>
</dd>
<dd>
<code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果
<code>content</code>为空或者主题名称不符合RFC 2253或其中一个属性类型关键字未被识别。
</dd>
<dd>
<code><a href="../../../../../java/lang/ClassCastException.html" title="class in java.lang">ClassCastException</a></code> - 如果
<code>content</code>包含不是上述有效类型之一的任何条目
</dd>
</dl> </li>
</ul> <a name="newX509IssuerSerial-java.lang.String-java.math.BigInteger-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>newX509IssuerSerial</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/X509IssuerSerial.html" title="interface in javax.xml.crypto.dsig.keyinfo">X509IssuerSerial</a> newX509IssuerSerial(<a href="../../../../../java/lang/String.html" title="class in java.lang">String</a> issuerName,
<a href="../../../../../java/math/BigInteger.html" title="class in java.math">BigInteger</a> serialNumber)</pre>
<div class="block">
从指定的X.500颁发者可分辨名称和序列号创建
<code>X509IssuerSerial</code>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<span><code>issuerName</code> - 发行人的RFC 2253字符串格式的可分辨名称。</span>
<span>实现必须支持RFC 2253CNLSTOOUCSTREETDC和UID中定义的属性类型关键字。</span>
<span>实施可能支持其他关键字。</span>
</dd>
<dd>
<code>serialNumber</code> - 序列号
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
一个
<code>X509IssuerSerial</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>issuerName</code>
<code>serialNumber</code>
<code>null</code>
</dd>
<dd>
<code><a href="../../../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果发行人名称不符合RFC 2253或其中一个属性类型关键字未被识别。
</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="blockList">
<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/keyinfo/RetrievalMethod.html" title="javax.xml.crypto.dsig.keyinfo中的接口">取消引用<code>RetrievalMethod</code></a>对象中的URI。</span>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
参考默认的
<code>URIDereferencer</code>
</dd>
</dl> </li>
</ul> <a name="unmarshalKeyInfo-javax.xml.crypto.XMLStructure-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>unmarshalKeyInfo</h4> <pre>public abstract <a href="../../../../../javax/xml/crypto/dsig/keyinfo/KeyInfo.html" title="interface in javax.xml.crypto.dsig.keyinfo">KeyInfo</a> unmarshalKeyInfo(<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>XMLStructure</code> (例如: <a href="../../../../../javax/xml/crypto/dom/DOMStructure.html" title="javax.xml.crypto.dom中的类"><code>DOMStructure</code></a> )实例解组新的<code>KeyInfo</code>实例。</span>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>xmlStructure</code> - 从中解密keyinfo的机制特定的XML结构
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>KeyInfo</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> </li>
</ul> </li>
</ul>
</div>
</div>