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 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.
KeyInfoFactory.newKeyInfo(List), 
KeyInfoFactory.newKeyInfo(List, String)| Modifier and Type | Method and Description | 
|---|---|
| List | getContent()Returns an  unmodifiable
 listcontaining the key information. | 
| String | getId()Return the optional Id attribute of this  KeyInfo, which
 may be useful for referencing thisKeyInfofrom other
 XML structures. | 
| void | marshal(XMLStructure parent,
       XMLCryptoContext context)Marshals the key info to XML. | 
isFeatureSupportedList getContent()
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).
XMLStructures
    in this KeyInfo. Never returns null or an
    empty list.String getId()
KeyInfo, which
 may be useful for referencing this KeyInfo from other
 XML structures.KeyInfo (may be
    null if not specified)void marshal(XMLStructure parent, XMLCryptoContext context) throws MarshalException
parent - a mechanism-specific structure containing the parent node
    that the marshalled key info will be appended tocontext - the XMLCryptoContext containing additional
    context (may be null if not applicable)ClassCastException - if the type of parent or
    context is not compatible with this key infoMarshalException - if the key info cannot be marshalledNullPointerException - if parent is null Submit a bug or feature 
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
 Copyright © 1993, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.