Пакет javax.xml.crypto.dsig
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
При реализации основанных на DOMXMLSignatureFactory, KeyInfoFactory или
TransformService НЕОБХОДИМО соблюдать следующие требования, чтобы свести к минимуму проблемы совместимости: - Метод
unmarshalXMLSignatureклассаXMLSignatureFactoryДОЛЖЕН поддерживать типыDOMValidateContext. Если тип —DOMValidateContext, он ДОЛЖЕН содержатьElementтипа Signature. Кроме того, методunmarshalXMLSignatureМОЖЕТ заполнять сопоставления Id/Element переданногоDOMValidateContext. - Метод
signобъектовXMLSignature, созданных посредствомXMLSignatureFactory, ДОЛЖЕН поддерживать типыDOMSignContext, а методvalidateДОЛЖЕН поддерживать типыDOMValidateContext. Это требование также относится к методуvalidateклассаSignatureValueи методуvalidateклассаReference. - Реализация ДОЛЖНА поддерживать
DOMStructureв качестве механизма, с помощью которого приложение задаёт расширяемое содержимое (любые элементы или смешанное содержимое). - Если метод
dereferenceпользовательских объектовURIDereferencerвозвращает объектыNodeSetData, методiteratorДОЛЖЕН возвращать итератор по объектам типаorg.w3c.dom.Node. -
Объекты
URIReference, передаваемые методуdereferenceпользовательских объектовURIDereferencer, ДОЛЖНЫ иметь типDOMURIReference, а объектыXMLCryptoContextДОЛЖНЫ реализовыватьDOMCryptoContext. - Предыдущие два требования также относятся к объектам
URIDereferencer, возвращаемым методомgetURIDereferencerклассаXMLSignatureFactoryиKeyInfoFactory. - Метод
unmarshalKeyInfoклассаKeyInfoFactoryДОЛЖЕН поддерживать типыDOMStructure. Если тип —DOMStructure, он ДОЛЖЕН содержатьElementтипаKeyInfo. - Метод
transformклассаTransformДОЛЖЕН поддерживать типы параметров контекстаDOMCryptoContext. - Методы
newtransformиnewCanonicalizationMethodклассаXMLSignatureFactoryДОЛЖНЫ поддерживать типы параметровDOMStructure. - Методы
initиmarshalParamsклассаTransformServiceДОЛЖНЫ поддерживать типыDOMStructureиDOMCryptoContext. - Метод
unmarshalXMLSignatureклассаXMLSignatureFactoryДОЛЖЕН поддерживать типыDOMStructure. Если тип —DOMStructure, он ДОЛЖЕН содержатьElementтипаSignature. - Метод
marshalклассаKeyInfoДОЛЖЕН поддерживать типы параметровDOMStructureиDOMCryptoContext.
Обратите внимание, что реализация DOM МОЖЕТ внутри использовать другие API разбора XML, помимо DOM, если это не влияет на совместимость. Например, реализация XMLSignatureFactory для DOM может использовать внутри парсер SAX для каноникализации данных.
Спецификация пакета
- С:
- 1.6
| Класс | Описание |
|---|---|
| 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://docs.oracle.com/en/java/javase/25/docs/api/java.xml.crypto/javax/xml/crypto/dsig/package-summary.html