Пакет 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
Следующие требования ДОЛЖНЫ выполняться при реализации DOM-базированногоXMLSignatureFactory, 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. - Предыдущие 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, 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