This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.


javax.xml.crypto.dsig.keyinfo
interface KeyValue

All Superinterfaces:
XMLStructure

Most common way to construct:

KeyInfoFactory factory = …;
PublicKey dsaPublicKey = …;

KeyValue keyValue = factory.newKeyValue(dsaPublicKey);

Based on 31 examples


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 {@link KeyInfoFactory#newKeyValue newKeyValue} method of the {@link KeyInfoFactory} class, and passing it a {@link java.security.PublicKey} representing the value of the public key. Here is an example of creating a KeyValue from a {@link DSAPublicKey} of a {@link java.security.cert.Certificate} stored in a {@link java.security.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 {@link DSAPublicKey} and {@link RSAPublicKey}, respectively. Note that not all of the fields in the schema are accessible as parameters of these types.


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.
 
Method Summary
 PublicKey

          Returns the public key of this KeyValue.
 
Methods inherited from class javax.xml.crypto.XMLStructure
isFeatureSupported
 

Field Detail

DSA_TYPE

public 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 {@link RetrievalMethod} class to describe a remote DSAKeyValue structure.

RSA_TYPE

public 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 {@link RetrievalMethod} class to describe a remote RSAKeyValue structure.
Method Detail

getPublicKey

public 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


This documentation differs from the official API. Jadeite adds extra features to the API including: variable font sizes, constructions examples, placeholders for classes and methods, and auto-generated “See Also” links. Additionally it is missing some items found in standard Javadoc documentation, including: generics type information, “Deprecated” tags and comments, “See Also” links, along with other minor differences. Please send any questions or feedback to bam@cs.cmu.edu.
This page displays the Jadeite version of the documention, which is derived from the offical documentation that contains this copyright notice:
Copyright 2008 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.
The official Sun™ documentation can be found here at http://java.sun.com/javase/6/docs/api/.