KeyValue.javaAPI DocJava SE 6 API4588Tue Jun 10 00:27:06 BST 2008javax.xml.crypto.dsig.keyinfo


public interface KeyValue implements XMLStructure
A representation of the XML KeyValue element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. A KeyValue object contains a single public key that may be useful in validating the signature. The XML schema definition is defined as:
<element name="KeyValue" type="ds:KeyValueType"/>
<complexType name="KeyValueType" mixed="true">
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>

<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
<element name="G" type="ds:CryptoBinary" minOccurs="0"/>
<element name="Y" type="ds:CryptoBinary"/>
<element name="J" type="ds:CryptoBinary" minOccurs="0"/>
<sequence minOccurs="0">
<element name="Seed" type="ds:CryptoBinary"/>
<element name="PgenCounter" type="ds:CryptoBinary"/>

<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<complexType name="RSAKeyValueType">
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
A KeyValue instance may be created by invoking the {@link KeyInfoFactory#newKeyValue newKeyValue} method of the {@link KeyInfoFactory} class, and passing it a {@link} representing the value of the public key. Here is an example of creating a KeyValue from a {@link DSAPublicKey} of a {@link} stored in a {@link}:
KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
PublicKey dsaPublicKey = keyStore.getCertificate("myDSASigningCert").getPublicKey();
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
KeyValue keyValue = factory.newKeyValue(dsaPublicKey);
This class returns the DSAKeyValue and RSAKeyValue elements as objects of type {@link DSAPublicKey} and {@link RSAPublicKey}, respectively. Note that not all of the fields in the schema are accessible as parameters of these types.
Sean Mullan
JSR 105 Expert Group

Fields Summary
static final String
URI identifying the DSA KeyValue KeyInfo type: This can be specified as the value of the type parameter of the {@link RetrievalMethod} class to describe a remote DSAKeyValue structure.
static final String
URI identifying the RSA KeyValue KeyInfo type: This can be specified as the value of the type parameter of the {@link RetrievalMethod} class to describe a remote RSAKeyValue structure.
Constructors Summary
Methods Summary
Returns the public key of this KeyValue.

the public key of this KeyValue
KeyException if this KeyValue cannot be converted to a PublicKey