Interface KeyInfo
- 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 XMLStructure
s, 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
XMLStructure
s 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 list
containing the key information.getId()
Return the optional Id attribute of thisKeyInfo
, which may be useful for referencing thisKeyInfo
from other XML structures.void
marshal
(XMLStructure parent, XMLCryptoContext context) Marshals the key info to XML.Methods declared in interface XMLStructure
isFeatureSupported
Modifier and TypeMethodDescriptionboolean
isFeatureSupported
(String feature) Indicates whether a specified feature is supported.
-
Method Details
-
getContent
List<XMLStructure> getContent()Returns anunmodifiable list
containing 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: anX509Data
element would be returned as an instance ofX509Data
).- Returns:
- an unmodifiable list of one or more
XMLStructure
s in thisKeyInfo
. Never returnsnull
or an empty list.
-
getId
String getId()Return the optional Id attribute of thisKeyInfo
, which may be useful for referencing thisKeyInfo
from other XML structures.- Returns:
- the Id attribute of this
KeyInfo
(may benull
if 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
- theXMLCryptoContext
containing additional context (may be null if not applicable)- Throws:
ClassCastException
- if the type ofparent
orcontext
is not compatible with this key infoMarshalException
- if the key info cannot be marshalledNullPointerException
- ifparent
isnull
-