Spec-Zone.ru › OpenJDK 17

Пакет 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
Пакет Описание
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, 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/package-summary.html

Spec-Zone.ru

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