compact3
javax.xml.crypto.dsig.keyinfo
Interface KeyValue
-
- 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
All Methods Instance Methods Abstract 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
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.