javax.xml.crypto.dsig.keyinfo
Interface KeyInfo
All Superinterfaces:
- 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.
See Also:
Method Summary
| Modifier and Type | Method and Description |
|---|---|
|
getContent()
Returns an
unmodifiable
list containing the key information.
|
|
getId()
Return the optional Id attribute of this
KeyInfo, which
may be useful for referencing this KeyInfo from other
XML structures.
|
|
marshal(XMLStructure parent,XMLCryptoContext context)
Marshals the key info to XML.
|
| Methods inherited from interface javax.xml.crypto.XMLStructure |
|---|
isFeatureSupported |
Method Detail
getContent
- java.util.List getContent()
Returns:
an unmodifiable list of one or more
XMLStructures
in this KeyInfo. Never returns null or an
empty list. getId
- java.lang.String getId()
Return the optional Id attribute of this
KeyInfo, which
may be useful for referencing this KeyInfo from other
XML structures.
Returns:
the Id attribute of this
KeyInfo (may be
null if not specified) marshal
- void marshal(XMLStructure parent,
- XMLCryptoContext context)
- throws MarshalException
Marshals the key info to XML.
Parameters:
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) Throws:
java.lang.ClassCastException - if the type of parent or
context is not compatible with this key info MarshalException - if the key info cannot be marshalled java.lang.NullPointerException - if parent is null
unmodifiable listcontaining the key information. Each entry of the list is anXMLStructure.If there is a public subclass representing the type of
XMLStructure, it is returned as an instance of that class (ex: anX509Dataelement would be returned as an instance ofX509Data).