-
- 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.- Since:
- 1.6
- See Also:
KeyInfoFactory.newKeyInfo(List)
,KeyInfoFactory.newKeyInfo(List, String)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<XMLStructure>
getContent()
Returns anunmodifiable list
containing the key information.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
List<XMLStructure> 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
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:
ClassCastException
- if the type ofparent
orcontext
is not compatible with this key infoMarshalException
- if the key info cannot be marshalledNullPointerException
- ifparent
isnull
-
-