Spec-Zone.ru › OpenJDK 21

Пакет javax.xml.crypto.dsig

package javax.xml.crypto.dsig
Классы для генерации и проверки XML цифровых подписей. Этот пакет включает классы, представляющие основные элементы, определённые в спецификации W3C XML цифровой подписи: XMLSignature, SignedInfo, CanonicalizationMethod, SignatureMethod, Reference, DigestMethod, XMLObject, Manifest, SignatureProperties, и SignatureProperty. KeyInfo типы определены в подпакете javax.xml.crypto.dsig.keyinfo. XMLSignatureFactory — это абстрактная фабрика, которая создаёт объекты XMLSignature с нуля или из существующего XML представления, например, узла DOM. TransformService — это интерфейс поставщика услуг для создания и подключения реализаций алгоритмов преобразования и канонизации.

Основной класс в этом пакете — XMLSignature, который позволяет подписывать и проверять XML цифровую подпись.

Поставщики услуг

Поставщик услуг — это конкретная реализация абстрактных классов XMLSignatureFactory и KeyInfoFactory, отвечающий за создание объектов и алгоритмов, которые анализируют, генерируют и проверяют структуры XML подписей и KeyInfo. Конкретная реализация XMLSignatureFactory ОБЯЗАНА обеспечивать поддержку каждого из НЕОБХОДИМЫХ алгоритмов, как указано в рекомендации W3C по XML подписям. Она МОЖЕТ поддерживать и другие алгоритмы, как определено в рекомендации W3C или других спецификациях.

API использует модель поставщика JCA (см. the Provider class) для регистрации и загрузки реализаций XMLSignatureFactory и KeyInfoFactory.

Каждая конкретная реализация XMLSignatureFactory или KeyInfoFactory поддерживает определённый тип XML механизма, который идентифицирует механизм обработки XML, используемый реализацией для анализа и генерации структур XML подписи и KeyInfo.

Реализация поставщика услуг ДОЛЖНА использовать базовые классы движка JCA, такие как Signature и MessageDigest, для выполнения криптографических операций.

Помимо классов XMLSignatureFactory и KeyInfoFactory, API поддерживает интерфейс поставщика услуг для алгоритмов преобразования и канонизации. Класс TransformService позволяет разработать и подключить реализацию определённого алгоритма преобразования или канонизации для конкретного типа XML механизма. Класс TransformService использует стандартную модель поставщика JCA для регистрации и загрузки реализаций. Каждая реализация поставщика услуг ДОЛЖНА использовать класс TransformService для поиска поставщика, который поддерживает алгоритмы преобразования и канонизации в XML подписях, которые он генерирует или проверяет.

Требования к механизму DOM

Следующие требования ОБЯЗАТЕЛЬНЫ для соблюдения при реализации DOM-базируемого XMLSignatureFactory, KeyInfoFactory или TransformService для минимизации проблем межсетевого взаимодействия:
  1. Метод unmarshalXMLSignature класса XMLSignatureFactory ОБЯЗАН поддерживать типы DOMValidateContext. Если тип DOMValidateContext, он ДОЛЖЕН содержать объект Element типа Signature. Кроме того, метод unmarshalXMLSignature МОЖЕТ заполнить сопоставления Id/Element переданного DOMValidateContext.
  2. Метод sign объектов XMLSignature, созданных XMLSignatureFactory, ОБЯЗАН поддерживать типы DOMSignContext, а метод validate ОБЯЗАН поддерживать типы DOMValidateContext. Это требование также относится к методу validate класса SignatureValue и методу validate класса Reference.
  3. Реализация ОБЯЗАНА поддерживать DOMStructure в качестве механизма для приложения, чтобы указать расширяемый контент (любые элементы или смешанный контент).
  4. Если метод dereference пользовательских URIDereferencer возвращает объекты NodeSetData, метод iterator ОБЯЗАН возвратить итерацию по объектам типа org.w3c.dom.Node.
  5. Объекты URIReference , переданные в метод dereference пользовательских URIDereferencer ОБЯЗАНЫ быть типа DOMURIReference, а объекты XMLCryptoContext ОБЯЗАНЫ реализовывать DOMCryptoContext.
  6. Предыдущие 2 требования также относятся к URIDereferencer , возвращаемым методом getURIDereferencer классов XMLSignatureFactory и KeyInfoFactory.
  7. Метод unmarshalKeyInfo класса KeyInfoFactory ОБЯЗАН поддерживать типы DOMStructure. Если тип DOMStructure, он ДОЛЖЕН содержать объект Element типа KeyInfo.
  8. Метод transform класса Transform ОБЯЗАН поддерживать типы параметров контекста DOMCryptoContext.
  9. Методы newtransform и newCanonicalizationMethod класса XMLSignatureFactory ОБЯЗАНЫ поддерживать типы параметров DOMStructure.
  10. Методы init, и marshalParams класса TransformService ОБЯЗАНЫ поддерживать типы DOMStructure и DOMCryptoContext.
  11. Метод unmarshalXMLSignature класса XMLSignatureFactory ОБЯЗАН поддерживать типы DOMStructure. Если тип DOMStructure, он ДОЛЖЕН содержать объект Element типа Signature.
  12. Метод marshal класса KeyInfo ОБЯЗАН поддерживать типы параметров DOMStructure и DOMCryptoContext.

Обратите внимание, что реализация DOM ВНУТРЕННЕ может использовать другие API парсинга XML, помимо DOM, пока это не влияет на межсетевое взаимодействие. Например, DOM-реализация XMLSignatureFactory может использовать SAX-парсер внутри для канонизации данных.

Спецификация пакета

  • XML-Signature Syntax and Processing: Рекомендация W3C
  • RFC 3275: XML-Signature Syntax and Processing
Since:
1.6
END_OF_DOCUMENT_MARKER
Пакет Описание
javax.xml.crypto
Общие классы для XML-криптографии.
javax.xml.crypto.dsig.dom
Классы, специфичные для DOM, для пакета javax.xml.crypto.dsig.
javax.xml.crypto.dsig.keyinfo
Классы для разбора и обработки элементов и структур KeyInfo.
javax.xml.crypto.dsig.spec
Классы параметров для XML-цифровых подписей.
javax.xml.crypto.dom
Классы, специфичные для DOM, для пакета javax.xml.crypto.
Класс Описание
CanonicalizationMethod
Представление элемента XML CanonicalizationMethod, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
DigestMethod
Представление элемента XML DigestMethod, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
Manifest
Представление элемента XML Manifest, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
Reference
Представление элемента Reference, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
SignatureMethod
Представление элемента XML SignatureMethod, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
SignatureProperties
Представление элемента XML SignatureProperties, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
SignatureProperty
Представление элемента XML SignatureProperty, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
SignedInfo
Представление элемента XML SignedInfo, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
Transform
Представление элемента XML Transform, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
TransformException
Указывает на исключительную ситуацию, произошедшую во время выполнения алгоритма преобразования.
TransformService
Интерфейс поставщика услуг для алгоритмов преобразования и канонизации.
XMLObject
Представление элемента XML Object, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
XMLSignature
Представление элемента XML Signature, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
XMLSignature.SignatureValue
Представление элемента XML SignatureValue, определённого в Рекомендации W3C по синтаксису и обработке XML-подписей.
XMLSignatureException
Указывает на исключительную ситуацию, произошедшую во время генерации или проверки XML-подписи.
XMLSignatureFactory
Фабрика для создания объектов XMLSignature с нуля или для разархивирования объекта XMLSignature из соответствующего XML-представления.
XMLSignContext
Содержит контекстную информацию для генерации XML-подписей.
XMLValidateContext
Содержит контекстную информацию для проверки XML-подписей.

© 1993, 2023, 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/21/docs/api/java.xml.crypto/javax/xml/crypto/dsig/package-summary.html

Spec-Zone.ru

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