public interface KeyInfo extends XMLStructure
KeyInfo element as defined in the
W3C Recommendation for XML-Signature Syntax and Processing. A
KeyInfo contains a list of
XMLStructures, each of which contain information that enables the recipient(s) to obtain the key needed to validate an XML signature. The XML Schema Definition is defined as:
<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>
A
KeyInfo instance may be created by invoking one of the
newKeyInfo methods of the
KeyInfoFactory class, and passing it a list of one or more
XMLStructures and an optional id parameter; for example:
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
KeyInfo keyInfo = factory.newKeyInfo
(Collections.singletonList(factory.newKeyName("Alice"), "keyinfo-1"));
KeyInfo objects can also be marshalled to XML by invoking the marshal method.
KeyInfoFactory.newKeyInfo(List) ,
KeyInfoFactory.newKeyInfo(List, String)
| Modifier and Type | Method and Description |
|---|---|
List |
getContent()
Returns an
unmodifiable list containing the key information.
|
String |
getId()
Return the optional Id attribute of this
KeyInfo, which may be useful for referencing this
KeyInfo from other XML structures.
|
void |
marshal(XMLStructure
Marshals the key info to XML.
|
isFeatureSupportedListgetContent()
unmodifiable list containing the key information. Each entry of the list is an
XMLStructure.
If there is a public subclass representing the type of XMLStructure, it is returned as an instance of that class (ex: an X509Data element would be returned as an instance of X509Data).
XMLStructures in this
KeyInfo. Never returns
null or an empty list.
StringgetId()
KeyInfo, which may be useful for referencing this
KeyInfo from other XML structures.
KeyInfo (may be
null if not specified)
void marshal(XMLStructureparent, XMLCryptoContext context) throws MarshalException
parent - a mechanism-specific structure containing the parent node that the marshalled key info will be appended to
context - the
XMLCryptoContext containing additional context (may be null if not applicable)
ClassCastException - if the type of
parent or
context is not compatible with this key info
MarshalException - if the key info cannot be marshalled
NullPointerException - if
parent is
null