- All Superinterfaces:
XMLStructure
A representation of the XML
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.
- Since:
- 1.6
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionReturns anunmodifiable listcontaining the key information.getId()Return the optional Id attribute of thisKeyInfo, which may be useful for referencing thisKeyInfofrom other XML structures.voidmarshal(XMLStructure parent, XMLCryptoContext context) Marshals the key info to XML.Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
Method Details
-
getContent
List<XMLStructure> getContent()Returns anunmodifiable 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).- Returns:
- an unmodifiable list of one or more
XMLStructures in thisKeyInfo. Never returnsnullor an empty list.
-
getId
String getId()Return the optional Id attribute of thisKeyInfo, which may be useful for referencing thisKeyInfofrom other XML structures.- Returns:
- the Id attribute of this
KeyInfo(may benullif not specified)
-
marshal
Marshals the key info to XML.- Parameters:
parent- a mechanism-specific structure containing the parent node that the marshalled key info will be appended tocontext- theXMLCryptoContextcontaining additional context (may be null if not applicable)- Throws:
ClassCastException- if the type ofparentorcontextis not compatible with this key infoMarshalException- if the key info cannot be marshalledNullPointerException- ifparentisnull
-