Интерфейс KeyValue
- Все суперинтерфейсы:
XMLStructure
public interface KeyValue extends XMLStructure
Представление XML KeyValue элемента, как определено в Рекомендации W3C по синтаксису и обработке XML-подписей. Объект KeyValue содержит единственный открытый ключ, который может быть полезен для проверки подписи. Определение XML-схемы:
<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> Экземпляр KeyValue может быть создан путём вызова метода newKeyValue класса KeyInfoFactory, передав ему PublicKey, представляющий значение открытого ключа. Вот пример создания KeyValue из DSAPublicKey сертификата Certificate, хранящегося в KeyStore: KeyStore keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
PublicKey dsaPublicKey = keyStore.getCertificate("myDSASigningCert").getPublicKey();
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
KeyValue keyValue = factory.newKeyValue(dsaPublicKey); Этот класс возвращает элементы DSAKeyValue и RSAKeyValue как объекты типа DSAPublicKey и RSAPublicKey соответственно. Обратите внимание, что не все поля схемы доступны в качестве параметров этих типов.
- С тех пор:
- 1.6
- См. также:
KeyInfoFactory.newKeyValue(PublicKey)
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
static String |
DSA_TYPE |
URI, идентифицирующий тип ключа DSA KeyValue KeyInfo: http://www.w3.org/2000/09/xmldsig#DSAKeyValue. |
static String |
RSA_TYPE |
URI, идентифицирующий тип ключа RSA KeyValue KeyInfo: http://www.w3.org/2000/09/xmldsig#RSAKeyValue. |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
PublicKey |
getPublicKey() |
Возвращает открытый ключ этого объекта |
Методы, объявленные в интерфейсе javax.xml.crypto.XMLStructure
isFeatureSupported
Поля
DSA_TYPE
static final String DSA_TYPE
URI, идентифицирующий тип ключа DSA KeyValue KeyInfo: http://www.w3.org/2000/09/xmldsig#DSAKeyValue. Это может быть указано в качестве значения параметра type класса RetrievalMethod для описания удалённой структуры DSAKeyValue.
- См. также:
- Значения константных полей
RSA_TYPE
static final String RSA_TYPE
URI, идентифицирующий тип ключа RSA KeyValue KeyInfo: http://www.w3.org/2000/09/xmldsig#RSAKeyValue. Это может быть указано в качестве значения параметра type класса RetrievalMethod для описания удалённой структуры RSAKeyValue.
- См. также:
- Значения константных полей
Методы
getPublicKey
PublicKey getPublicKey()
throws KeyException
Возвращает открытый ключ этого объекта KeyValue.
- Возвращает:
- открытый ключ этого объекта
KeyValue - Исключения:
-
KeyException- если этот объектKeyValueне может быть преобразован вPublicKey
© 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