Spec-Zone.ru › OpenJDK 8

Интерфейс 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()

Возвращает открытый ключ данного объекта KeyValue.

Методы, унаследованные от интерфейса 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API