Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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 `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:
  `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 `XMLStructure`s 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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Java™ Platform Standard Ed. 6
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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.