JavaTM 2 Platform Std. Ed. v1.6.0
javax.xml.crypto.dsig.keyinfo
Interface KeyValue
- All Superinterfaces:
- XMLStructure
public interface KeyValue - extends 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">
<choice>
<element ref="ds:DSAKeyValue"/>
<element ref="ds:RSAKeyValue"/>
<any namespace="##other" processContents="lax"/>
</choice>
</complexType>
<element name="DSAKeyValue" type="ds:DSAKeyValueType"/>
<complexType name="DSAKeyValueType">
<sequence>
<sequence minOccurs="0">
<element name="P" type="ds:CryptoBinary"/>
<element name="Q" type="ds:CryptoBinary"/>
</sequence>
<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"/>
</sequence>
</sequence>
</complexType>
<element name="RSAKeyValue" type="ds:RSAKeyValueType"/>
<complexType name="RSAKeyValueType">
<sequence>
<element name="Modulus" type="ds:CryptoBinary"/>
<element name="Exponent" type="ds:CryptoBinary"/>
</sequence>
</complexType>
A KeyValue instance may be created by invoking the
newKeyValue method of the
KeyInfoFactory class, and passing it a PublicKey representing the value of the public key. Here is
an example of creating a KeyValue from a DSAPublicKey
of a Certificate stored in a
KeyStore :
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
DSAPublicKey and RSAPublicKey , respectively. Note that not
all of the fields in the schema are accessible as parameters of these
types.
- Since:
- 1.6
- See Also:
KeyInfoFactory.newKeyValue(PublicKey)
Field Summary |
static String |
DSA_TYPE
URI identifying the DSA KeyValue KeyInfo type:
http://www.w3.org/2000/09/xmldsig#DSAKeyValue. |
static String |
RSA_TYPE
URI identifying the RSA KeyValue KeyInfo type:
http://www.w3.org/2000/09/xmldsig#RSAKeyValue. |
DSA_TYPE
static final String DSA_TYPE
- URI identifying the DSA KeyValue KeyInfo type:
http://www.w3.org/2000/09/xmldsig#DSAKeyValue. This can be specified as
the value of the
type parameter of the
RetrievalMethod class to describe a remote
DSAKeyValue structure.
- See Also:
- Constant Field Values
RSA_TYPE
static final String RSA_TYPE
- URI identifying the RSA KeyValue KeyInfo type:
http://www.w3.org/2000/09/xmldsig#RSAKeyValue. This can be specified as
the value of the
type parameter of the
RetrievalMethod class to describe a remote
RSAKeyValue structure.
- See Also:
- Constant Field Values
getPublicKey
PublicKey getPublicKey()
throws KeyException
- Returns the public key of this
KeyValue .
- Returns:
- the public key of this
KeyValue
- Throws:
KeyException - if this KeyValue cannot be converted
to a PublicKey
Copyright 2003 Sun Microsystems, Inc. All rights reserved
|