APIdia Launch Partner
Top Description Methods
javax.xml.crypto.dsig.keyinfo

public Interface KeyInfo

extends XMLStructure
Known Direct Implementers
org.jcp.xml.dsig.internal.dom.DOMKeyInfo
Imports
java.util.List, javax.xml.crypto.MarshalException, .XMLCryptoContext, .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.

Authors
Sean Mullan, JSR 105 Expert Group
Since
1.6
See Also
KeyInfoFactory#newKeyInfo(List), KeyInfoFactory#newKeyInfo(List, String)

Method Summary

Modifier and TypeMethod and Description
public List<XMLStructure>

Returns:

an unmodifiable list of one or more XMLStructures in this KeyInfo. Never returns null or an empty list.
getContent
()

Returns an unmodifiable list containing the key information.

public String

Returns:

the Id attribute of this KeyInfo (may be null if not specified)
getId
()

Return the optional Id attribute of this KeyInfo, which may be useful for referencing this KeyInfo from other XML structures.

public void
marshal(XMLStructure
a mechanism-specific structure containing the parent node that the marshalled key info will be appended to
parent
,
XMLCryptoContext
the XMLCryptoContext containing additional context (may be null if not applicable)
context
)

Marshals the key info to XML.

Inherited from javax.xml.crypto.XMLStructure:
isFeatureSupported

Method Detail

getContentback to summary
public List<XMLStructure> getContent()

Returns an 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 javax.xml.crypto.dsig.keyinfo.X509Data).

Returns:List<XMLStructure>

an unmodifiable list of one or more XMLStructures in this KeyInfo. Never returns null or an empty list.

getIdback to summary
public String getId()

Return the optional Id attribute of this KeyInfo, which may be useful for referencing this KeyInfo from other XML structures.

Returns:String

the Id attribute of this KeyInfo (may be null if not specified)

marshalback to summary
public void marshal(XMLStructure parent, XMLCryptoContext context) throws MarshalException

Marshals the key info to XML.

Parameters
parent:XMLStructure

a mechanism-specific structure containing the parent node that the marshalled key info will be appended to

context:XMLCryptoContext

the XMLCryptoContext containing additional context (may be null if not applicable)

Exceptions
MarshalException:
if the key info cannot be marshalled
ClassCastException:
if the type of parent or context is not compatible with this key info
NullPointerException:
if parent is null