Spec-Zone.ru › OpenJDK 17

Интерфейс 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"/>
        <!-- <element ref="dsig11:ECKeyValue"/> -->
        <!-- ECC keys (XMLDsig 1.1) will use the any element -->
        <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>

    <complexType name="ECKeyValueType">
      <sequence>
        <choice>
          <element name="ECParameters" type="dsig11:ECParametersType" />
          <element name="NamedCurve" type="dsig11:NamedCurveType" />
        </choice>
        <element name="PublicKey" type="dsig11:ECPointType" />
      </sequence>
      <attribute name="Id" type="ID" use="optional" />
    </complexType>

    <complexType name="NamedCurveType">
      <attribute name="URI" type="anyURI" use="required" />
    </complexType>

    <simpleType name="ECPointType">
      <restriction base="ds:CryptoBinary" />
    </simpleType>
 
См. раздел 4.5.2.3.1 Рекомендации W3C для определения ECParametersType.

Экземпляр 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 final String DSA_TYPE
URI, определяющий тип ключа DSA KeyValue KeyInfo: http://www.w3.org/2000/09/xmldsig#DSAKeyValue.
static final String EC_TYPE
URI, определяющий тип ключа EC KeyValue KeyInfo: http://www.w3.org/2009/xmldsig11#ECKeyValue.
static final 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 структуры.
См. также:
  • Постоянные значения полей

EC_TYPE

static final String EC_TYPE
URI, определяющий тип ключа EC KeyValue KeyInfo: http://www.w3.org/2009/xmldsig11#ECKeyValue. Это может быть указано в качестве значения параметра type класса RetrievalMethod для описания удаленной ECKeyValue структуры.
См. также:
  • Постоянные значения полей

Подробное описание методов

getPublicKey

PublicKey getPublicKey() throws KeyException
Возвращает открытый ключ этого KeyValue.
Возвращает:
открытый ключ этого KeyValue
Исключения:
KeyException - если этот KeyValue нельзя преобразовать в PublicKey

© 1993, 2021, 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/17/docs/api/java.xml.crypto/javax/xml/crypto/dsig/keyinfo/KeyValue.html

Spec-Zone.ru

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