| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
public interface KeyValue
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.
KeyInfoFactory.newKeyValue(PublicKey)| Field Summary | |
|---|---|
| static String | DSA_TYPEURI identifying the DSA KeyValue KeyInfo type: http://www.w3.org/2000/09/xmldsig#DSAKeyValue. | 
| static String | RSA_TYPEURI identifying the RSA KeyValue KeyInfo type: http://www.w3.org/2000/09/xmldsig#RSAKeyValue. | 
| Method Summary | |
|---|---|
|  PublicKey | getPublicKey()Returns the public key of this KeyValue. | 
| Methods inherited from interface javax.xml.crypto.XMLStructure | 
|---|
| isFeatureSupported | 
| Field Detail | 
|---|
static final String DSA_TYPE
type parameter of the 
 RetrievalMethod class to describe a remote 
 DSAKeyValue structure.
static final String RSA_TYPE
type parameter of the 
 RetrievalMethod class to describe a remote 
 RSAKeyValue structure.
| Method Detail | 
|---|
PublicKey getPublicKey()
                       throws KeyException
KeyValue.
KeyValue
KeyException - if this KeyValue cannot be converted
    to a PublicKey| 
 | Java™ Platform Standard Ed. 6 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.