パッケージjavax.xml.crypto.dsig
XMLSignature
、SignedInfo
、CanonicalizationMethod
、SignatureMethod
、Reference
、DigestMethod
、XMLObject
、Manifest
、SignatureProperties
およびSignatureProperty
が含まれます。 KeyInfo
型は、javax.xml.crypto.dsig.keyinfo
サブパッケージで定義されます。 XMLSignatureFactory
は、XMLSignature
オブジェクトを最初から、またはDOMノードなどの既存XML表現から作成する抽象ファクトリです。 TransformService
は、変換および標準化アルゴリズムの実装を作成およびプラグインするための、サービス・プロバイダ・インタフェースです。
このパッケージで特に重要なのはXMLSignature
クラスであり、これによりXMLデジタル署名の署名および検証が可能になります。
サービス・プロバイダ
サービス・プロバイダは、XMLSignatureFactory
およびKeyInfoFactory
クラスの具体的な実装であり、XMLシグネチャとKeyInfo構造を解析、生成および検証するオブジェクトとアルゴリズムの作成を担当します。 XMLSignatureFactory
の固定実装は、XML署名に関するW3C勧告に規定されているように、必要なそれぞれのアルゴリズムをサポートしている必要があります。 この固定実装は、W3C勧告やほかの仕様に規定されているように、ほかのアルゴリズムをサポートできます。
XMLSignatureFactory
およびKeyInfoFactory
の実装を登録およびロードするために、このAPIはJCAプロバイダ・モデル(the Provider class
を参照してください)を利用します。
固定実装XMLSignatureFactory
またはKeyInfoFactory
はそれぞれ、XML署名やKeyInfo構造を解析および生成するときに実装によって内部で使用されるXML処理メカニズムを識別する特定のXMLメカニズム・タイプをサポートしています。
サービス・プロバイダ実装SHOULDでは、基礎となるJCAエンジン・クラス(Signature
、MessageDigest
)を使用して暗号化操作を実行します。
XMLSignatureFactory
およびKeyInfoFactory
クラスに加え、APIでは、変換アルゴリズムおよび正規化アルゴリズムのサービス・プロバイダ・インタフェースがサポートされています。 TransformService
クラスを使用すると、特定のXMLメカニズム・タイプに対する特定の変換または正規化アルゴリズムの実装を開発およびプラグインできます。 TransformService
クラスは、実装を登録およびロードするときに標準JCAプロバイダ・モデルを使用します。 各サービス・プロバイダ実装SHOULDは、TransformService
クラスを使用して、生成または検証しているXML Signaturesの変換および正規化アルゴリズムをサポートするプロバイダを検索します。
DOMメカニズムの要件
相互運用性の問題を最小限にするために、DOMベースのXMLSignatureFactory
、KeyInfoFactory
、または TransformService
を実装する場合は、次の要件に従う必要があります。
XMLSignatureFactory
のunmarshalXMLSignature
メソッドはDOMValidateContext
タイプをサポートしている必要があります。 タイプがDOMValidateContext
の場合、Signature型のElement
が含まれている必要があります。 また、unmarshalXMLSignature
メソッドは渡されるDOMValidateContext
のID/要素マッピングを生成できます。XMLSignatureFactory
によって生成されるXMLSignature
のsign
メソッドはDOMSignContext
タイプをサポートし、validate
メソッドはDOMValidateContext
タイプをサポートする必要があります。 この要件は、SignatureValue
のvalidate
メソッドとReference
のvalidate
メソッドにも適用されます。- 実装では、アプリケーションで拡張可能コンテンツ(任意の要素または混合コンテンツ)を指定するメカニズムとして
DOMStructure
をサポートする必要があります。 - ユーザー指定の
URIDereferencer
のdereference
メソッドからNodeSetData
オブジェクトが返される場合、iterator
メソッドはorg.w3c.dom.Node
型のオブジェクトに対する反復を返す必要があります。 - ユーザー指定の
URIDereferencer
のdereference
メソッドに渡されるURIReference
オブジェクトは、DOMURIReference
型である必要があります。また、XMLCryptoContext
オブジェクトはDOMCryptoContext
を実装する必要があります。 - 直前の2つの要件は、
XMLSignatureFactory
およびKeyInfoFactory
のgetURIDereferencer
メソッドによって返されるURIDereferencer
にも当てはまります。 KeyInfoFactory
のunmarshalKeyInfo
メソッドはDOMStructure
タイプをサポートしている必要があります。 タイプがDOMStructure
の場合、KeyInfo
型のElement
が含まれている必要があります。Transform
のtransform
メソッドは、DOMCryptoContext
コンテキスト・パラメータ・タイプをサポートする必要があります。XMLSignatureFactory
のnewtransform
およびnewCanonicalizationMethod
メソッドでは、DOMStructure
パラメータ型がサポートされている必要があります。TransformService
のinit
およびmarshalParams
メソッドでは、DOMStructure
およびDOMCryptoContext
型がサポートされています。XMLSignatureFactory
のunmarshalXMLSignature
メソッドはDOMStructure
タイプをサポートしている必要があります。 タイプがDOMStructure
の場合、Signature
型のElement
が含まれている必要があります。KeyInfo
のmarshal
メソッドでは、DOMStructure
およびDOMCryptoContext
パラメータ型がサポートされている必要があります。
DOM実装は、相互運用性に影響しない場合、DOM以外のXML解析APIを内部的に使用できます。 たとえば、XMLSignatureFactory
のDOM実装は、内部的にSAXパーサーを使用してデータを正規化することができます。
パッケージの仕様
- 導入されたバージョン:
- 1.6
-
クラス説明「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXML
CanonicalizationMethod
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLDigestMethod
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLManifest
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているReference
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignatureMethod
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignatureProperties
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignatureProperty
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignedInfo
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLTransform
要素の表現。変換アルゴリズムの実行中に例外条件が発生したことを示します。変換アルゴリズムおよび正規化アルゴリズム用のService Provider Interfaceです。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLObject
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignature
要素の表現。「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLSignatureValue
要素の表現。XML署名の生成中または検証処理中に発生した例外条件を示します。ゼロからXMLSignature
オブジェクトを作成するため、または対応するXML表現からXMLSignature
オブジェクトを非整列化するためのファクトリ。XML署名の生成用のコンテキスト情報を格納します。XML署名の検証用のコンテキスト情報を格納します。