Spec-Zone.ru › OpenJDK 24

Пакет 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

Следующие требования ОБЯЗАТЕЛЬНО должны соблюдаться при реализации XMLSignatureFactory, KeyInfoFactory или TransformService на основе DOM, чтобы свести к минимуму проблемы межплатформенной совместимости:
  1. Метод unmarshalXMLSignature класса XMLSignatureFactory ОБЯЗАН поддерживать типы DOMValidateContext. Если тип равен DOMValidateContext, он ДОЛЖЕН содержать объект Element типа Signature. Кроме того, метод unmarshalXMLSignature МОЖЕТ заполнить соответствия Id/Элемент переданного 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, 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.
https://download.java.net/java/early_access/jdk24/docs/api/java.xml.crypto/javax/xml/crypto/dsig/package-summary.html

Spec-Zone.ru

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