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