- 所有超级接口:
-
XMLStructure
表示XML
KeyInfo元素的一个表示,如W3C XML签名语法和处理推荐标准中定义。一个KeyInfo包含一个包含信息的XMLStructure列表,使接收者能够获取验证XML签名所需的密钥。XML模式定义如下:
<element name="KeyInfo" type="ds:KeyInfoType"/>
<complexType name="KeyInfoType" mixed="true">
<choice maxOccurs="unbounded">
<element ref="ds:KeyName"/>
<element ref="ds:KeyValue"/>
<element ref="ds:RetrievalMethod"/>
<element ref="ds:X509Data"/>
<element ref="ds:PGPData"/>
<element ref="ds:SPKIData"/>
<element ref="ds:MgmtData"/>
<any processContents="lax" namespace="##other"/>
<!-- (1,1) elements from (0,unbounded) namespaces -->
</choice>
<attribute name="Id" type="ID" use="optional"/>
</complexType>
可通过调用KeyInfoFactory类的newKeyInfo方法之一创建KeyInfo实例,并传递一个或多个XMLStructure列表和一个可选的id参数;例如:
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
KeyInfo keyInfo = factory.newKeyInfo
(Collections.singletonList(factory.newKeyName("Alice"), "keyinfo-1"));
KeyInfo对象也可以通过调用marshal方法转换为XML。
- 自版本:
- 1.6
- 参见:
-
Method Summary
Modifier and TypeMethodDescription返回一个包含密钥信息的不可修改列表。getId()返回此KeyInfo的可选Id属性,可用于从其他XML结构引用此KeyInfo。voidmarshal(XMLStructure parent, XMLCryptoContext context) 将密钥信息转换为XML。Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
Method Details
-
getContent
List<XMLStructure> getContent()返回一个包含密钥信息的不可修改列表。列表的每个条目都是一个XMLStructure。如果有表示
XMLStructure类型的公共子类,则将其作为该类的实例返回(例如:一个X509Data元素将作为X509Data的实例返回)。- 返回:
-
此
KeyInfo中一个或多个XMLStructure的不可修改列表。永远不会返回null或空列表。
-
getId
String getId()返回此KeyInfo的可选Id属性,可用于从其他XML结构引用此KeyInfo。- 返回:
-
此
KeyInfo的Id属性(如果未指定,可能为null)
-
marshal
将密钥信息转换为XML。- 参数:
-
parent- 包含将添加已编组密钥信息的父节点的特定于机制的结构 -
context- 包含附加上下文的XMLCryptoContext(如果不适用,可能为null) - 抛出:
-
ClassCastException- 如果parent或context的类型与此密钥信息不兼容 -
MarshalException- 如果无法编组密钥信息 -
NullPointerException- 如果parent为null
-