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)
Fields
Modifier and Type | Field | 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. |
Methods
Modifier and Type | Method | Description |
---|---|---|
PublicKey | getPublicKey() | Returns the public key of this |
Methods declared in interface javax.xml.crypto.XMLStructure
isFeatureSupported
Fields
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
Methods
getPublicKey
PublicKey getPublicKey() throws KeyException
Returns the public key of this KeyValue
.
- Returns:
- the public key of this
KeyValue
- Throws:
-
KeyException
- if thisKeyValue
cannot be converted to aPublicKey
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo/KeyValue.html