Spec-Zone.ru › OpenJDK 27

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

Методы, объявленные в интерфейсе XMLStructure

isFeatureSupported
Модификатор и тип Метод Описание
boolean isFeatureSupported(String feature)
Указывает, поддерживается ли заданная функция.

Подробное описание полей

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.
Начиная с версии:
13
См. также:
  • Значения константных полей

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

getPublicKey

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, включая концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, 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