- 所有超级接口:
-
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
。void
marshal
(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
-