パッケージ 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型の- 要素を含む必要があります。 また、- 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型の- 要素を含む必要があります。
- Transformの- transformメソッドは- DOMCryptoContextコンテキスト・パラメータ型をサポートする必要があります。
- XMLSignatureFactoryの- newtransformおよび- newCanonicalizationMethodメソッドでは、- DOMStructureパラメータ型がサポートされている必要があります。
- TransformServiceの- initおよび- marshalParamsメソッドでは、- DOMStructureおよび- DOMCryptoContext型がサポートされています。
- XMLSignatureFactoryの- unmarshalXMLSignatureメソッドは- DOMStructureタイプをサポートしている必要があります。 型が- DOMStructureの場合は、- Signature型の- 要素を含む必要があります。
- KeyInfoの- marshalメソッドでは、- DOMStructureおよび- DOMCryptoContextパラメータ型がサポートされている必要があります。
DOM実装は、相互運用性に影響しない場合、DOM以外のXML解析APIを内部的に使用できます。 たとえば、XMLSignatureFactoryのDOM実装は、内部的にSAXパーサーを使用してデータを正規化することができます。 
 
パッケージの仕様
- 導入されたバージョン:
- 1.6
- 
インタフェースのサマリーインタフェース説明「W3C Recommendation for XML-Signature Syntax and Processing」で定義されているXMLCanonicalizationMethod要素の表現。「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要素の表現。「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署名の生成用のコンテキスト情報を格納します。XML署名の検証用のコンテキスト情報を格納します。
- 
クラスのサマリークラス説明変換アルゴリズムおよび正規化アルゴリズム用のService Provider Interfaceです。ゼロからXMLSignatureオブジェクトを作成するため、または対応するXML表現からXMLSignatureオブジェクトを非整列化するためのファクトリ。
- 
例外のサマリーException説明変換アルゴリズムの実行中に例外条件が発生したことを示します。XML署名の生成中または検証処理中に発生した例外条件を示します。