javax.xml.crypto.dsig.keyinfo
Interface KeyInfo
-
- All Superinterfaces:
- XMLStructure
public interface KeyInfo extends XMLStructure
A representation of the XMLKeyInfo
element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. AKeyInfo
contains a list ofXMLStructure
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>
AKeyInfo
instance may be created by invoking one of thenewKeyInfo
methods of theKeyInfoFactory
class, and passing it a list of one or moreXMLStructure
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 themarshal
method.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description java.util.List
getContent()
Returns anunmodifiable list
containing the key information.java.lang.String
getId()
Return the optional Id attribute of thisKeyInfo
, which may be useful for referencing thisKeyInfo
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
java.util.List getContent()
Returns anunmodifiable list
containing the key information. Each entry of the list is anXMLStructure
.If there is a public subclass representing the type of
XMLStructure
, it is returned as an instance of that class (ex: anX509Data
element would be returned as an instance ofX509Data
).- Returns:
- an unmodifiable list of one or more
XMLStructure
s in thisKeyInfo
. Never returnsnull
or an empty list.
-
getId
java.lang.String getId()
Return the optional Id attribute of thisKeyInfo
, which may be useful for referencing thisKeyInfo
from other XML structures.- Returns:
- the Id attribute of this
KeyInfo
(may benull
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 tocontext
- theXMLCryptoContext
containing additional context (may be null if not applicable)- Throws:
java.lang.ClassCastException
- if the type ofparent
orcontext
is not compatible with this key infoMarshalException
- if the key info cannot be marshalledjava.lang.NullPointerException
- ifparent
isnull
-
-