-
- All Superinterfaces:
XMLStructure
public interface KeyValue extends XMLStructure
A representation of the XMLKeyValue
element as defined in the W3C Recommendation for XML-Signature Syntax and Processing. AKeyValue
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>
AKeyValue
instance may be created by invoking thenewKeyValue
method of theKeyInfoFactory
class, and passing it aPublicKey
representing the value of the public key. Here is an example of creating aKeyValue
from aDSAPublicKey
of aCertificate
stored in aKeyStore
: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 theDSAKeyValue
andRSAKeyValue
elements as objects of typeDSAPublicKey
andRSAPublicKey
, 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)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PublicKey
getPublicKey()
Returns the public key of thisKeyValue
.-
Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
-
-
-
-
Field Detail
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 thetype
parameter of theRetrievalMethod
class to describe a remoteDSAKeyValue
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 thetype
parameter of theRetrievalMethod
class to describe a remoteRSAKeyValue
structure.- See Also:
- Constant Field Values
-
Method Detail
getPublicKey
PublicKey getPublicKey() throws KeyException
Returns the public key of thisKeyValue
.- Returns:
-
the public key of this
KeyValue
- Throws:
KeyException
- if thisKeyValue
cannot be converted to aPublicKey
-