Пакет 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, 2023, 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/21/docs/api/java.xml.crypto/javax/xml/crypto/dsig/package-summary.html