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
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.
|
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, 2024, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.