Java™ Platform
Standard Ed. 6

javax.xml.crypto.dsig.keyinfo
Interface KeyInfo

All Superinterfaces:
XMLStructure

public interface KeyInfo
extends 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:
KeyInfoFactory.newKeyInfo(List), KeyInfoFactory.newKeyInfo(List, String)

Method Summary
 List getContent()
          Returns an unmodifiable list containing the key information.
 String getId()
          Return the optional Id attribute of this KeyInfo, which may be useful for referencing this KeyInfo from other XML structures.
 void marshal(XMLStructure parent, XMLCryptoContext context)
          Marshals the key info to XML.
 
Methods inherited from interface javax.xml.crypto.XMLStructure
isFeatureSupported
 

Method Detail

getContent

List 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 X509Data).

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

getId

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:
ClassCastException - if the type of parent or context is not compatible with this key info
MarshalException - if the key info cannot be marshalled
NullPointerException - if parent is null

Java™ Platform
Standard Ed. 6

Submit a bug or feature
For further API reference and developer documentation, see Java SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.