-
- 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)
-
-
Field Summary
Fields Modifier and Type Field and Description 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
Methods Modifier and Type Method and Description PublicKey
getPublicKey()
Returns the public key of thisKeyValue
.-
Methods inherited from 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
-
-
Document created the 11/06/2005, last modified the 04/03/2020
Source of the printed document:https://www.gaudry.be/en/java-api-rf-javax/xml/crypto/dsig/keyinfo/KeyValue.html
The infobrol is a personal site whose content is my sole responsibility. The text is available under CreativeCommons license (BY-NC-SA). More info on the terms of use and the author.
References
These references and links indicate documents consulted during the writing of this page, or which may provide additional information, but the authors of these sources can not be held responsible for the content of this page.
The author This site is solely responsible for the way in which the various concepts, and the freedoms that are taken with the reference works, are presented here. Remember that you must cross multiple source information to reduce the risk of errors.