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 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.
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
XMLStructure
s
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 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
).