JavaTM Platform
Standard Ed. 6

javax.xml.crypto.dsig
クラス XMLSignatureFactory

java.lang.Object
  上位を拡張 javax.xml.crypto.dsig.XMLSignatureFactory

public abstract class XMLSignatureFactory
extends Object

ゼロから XMLSignature オブジェクトを作成、または対応する XML 表現から XMLSignature オブジェクトを非整列化するためのファクトリ。

XMLSignatureFactory 型

 

XMLSignatureFactory の各インスタンスは、特定の XML 機構型をサポートします。XMLSignatureFactory を作成するには、static getInstance メソッドを呼び出し、目的の XML 機構型を渡します。次に例を示します。

XMLSignatureFactory factory = XMLSignatureFactory.getInstance("DOM");
 

ファクトリが生成するオブジェクトは DOM に基づいており、API の概要の「DOM 機構要件」セクションで定義されている DOM 相互運用性の要件に従う必要があります。標準の機構型のリストは、API の概要の「サービスプロバイダ」セクションを参照してください。  

XMLSignatureFactory 実装は、Provider 機構を使用して登録およびロードされます。たとえば、DOM 機構をサポートするサービスプロバイダは Provider サブクラスで次のように指定されます。

     put("XMLSignatureFactory.DOM", "org.example.DOMXMLSignatureFactory");
 
 

実装は、デフォルトの機構型である DOM を最低限サポートする必要があります。  

呼び出し側は同じ XMLSignatureFactory インスタンスを使用して、生成される特定の XMLSignatureXMLStructure を作成する必要があります。 異なるプロバイダからの XMLStructure または異なる機構がともに使用される場合、動作は定義されていません。  

また、このファクトリによって作成される XMLStructure には、XMLSignature に固有で再利用には対応していない状態が格納されます。

ゼロから XMLSignature を作成する

 

XMLSignatureFactory が作成されると、オブジェクトは適切なメソッドを呼び出してインスタンス化できます。たとえば、Reference インスタンスは、newReference メソッドの 1 つを呼び出すことで作成されます。

XML から XMLSignature を非整列化する

 

または、unmarshalXMLSignature メソッドを呼び出して XML コンテンツを格納する機構固有の XMLValidateContext インスタンスに渡すことによって、既存の XML 表現から XMLSignature を作成することができます。

 DOMValidateContext context = new DOMValidateContext(key, signatureElement);
 XMLSignature signature = factory.unmarshalXMLSignature(context);
 
XMLSignatureFactory は、そのファクトリ型用に必須の XMLValidateContext 型をサポートする必要がありますが、その他をサポートすることもできます。DOM XMLSignatureFactory は、DOMValidateContext オブジェクトをサポートする必要があります。

XML への XMLSignature の署名および整列化

ファクトリによって作成される各 XMLSignature は、XMLSignature オブジェクトの sign メソッドを呼び出して、署名鍵および整列化パラメータを格納する機構固有の XMLSignContext オブジェクトに渡すことによって、XML 表現に対して整列化し署名することもできます (DOMSignContext を参照)。次に例を示します。
    DOMSignContext context = new DOMSignContext(privateKey, document);
    signature.sign(context);
 
並行アクセス  

このクラスの static メソッドは、スレッドセーフであることが保証されています。このクラスで定義されている static メソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。  

しかしこのことは、このクラスで定義されている非 static メソッドには当てはまりません。特定のプロバイダで特に説明がないかぎり、単一 XMLSignatureFactory インスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期をとり、必要に応じてロックしなければなりません。異なる XMLSignatureFactory インスタンスを操作する複数スレッド間では、同期をとる必要はありません。

導入されたバージョン:
1.6

コンストラクタの概要
protected XMLSignatureFactory()
          デフォルトのコンストラクタ、サブクラスによる呼び出し用。
 
メソッドの概要
static XMLSignatureFactory getInstance()
          デフォルトの XML 処理機構および表現型 ("DOM") をサポートする XMLSignatureFactory を返します。
static XMLSignatureFactory getInstance(String mechanismType)
          指定された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。
static XMLSignatureFactory getInstance(String mechanismType, Provider provider)
          指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。
static XMLSignatureFactory getInstance(String mechanismType, String provider)
          指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。
 KeyInfoFactory getKeyInfoFactory()
          KeyInfo オブジェクトを作成する KeyInfoFactory を返します。
 String getMechanismType()
          この XMLSignatureFactory がサポートする XML 処理機構および表現の型を返します (例: "DOM")。
 Provider getProvider()
          この XMLSignatureFactory のプロバイダを返します。
abstract  URIDereferencer getURIDereferencer()
          Reference オブジェクト内でデフォルトの間接参照 URI に使用される URIDereferencer への参照を返します。
abstract  boolean isFeatureSupported(String feature)
          指定した機能がサポートされるかどうかを示します。
abstract  CanonicalizationMethod newCanonicalizationMethod(String algorithm, C14NMethodParameterSpec params)
          指定したアルゴリズム URI およびパラメータ用に CanonicalizationMethod を作成します。
abstract  CanonicalizationMethod newCanonicalizationMethod(String algorithm, XMLStructure params)
          指定したアルゴリズム URI およびパラメータ用に CanonicalizationMethod を作成します。
abstract  DigestMethod newDigestMethod(String algorithm, DigestMethodParameterSpec params)
          指定したアルゴリズム URI およびパラメータ用に DigestMethod を作成します。
abstract  Manifest newManifest(List references)
          指定された Reference のリストを格納する Manifest を作成します。
abstract  Manifest newManifest(List references, String id)
          指定した Reference および省略可能な id のリストを格納する Manifest を作成します。
abstract  Reference newReference(String uri, DigestMethod dm)
          指定された URI およびダイジェストメソッドで Reference を作成します。
abstract  Reference newReference(String uri, DigestMethod dm, List appliedTransforms, Data result, List transforms, String type, String id)
          指定したパラメータで Reference を作成します。
abstract  Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id)
          指定されたパラメータで Reference を作成します。
abstract  Reference newReference(String uri, DigestMethod dm, List transforms, String type, String id, byte[] digestValue)
          指定されたパラメータおよびあらかじめ計算されたダイジェスト値で Reference を作成します。
abstract  SignatureMethod newSignatureMethod(String algorithm, SignatureMethodParameterSpec params)
          指定したアルゴリズム URI およびパラメータ用に SignatureMethod を作成します。
abstract  SignatureProperties newSignatureProperties(List properties, String id)
          指定した SignatureProperty および省略可能な id のリストを格納する SignatureProperties を作成します。
abstract  SignatureProperty newSignatureProperty(List content, String target, String id)
          指定した XMLStructure、ターゲット URI および省略可能な id のリストを格納する SignatureProperty を作成します。
abstract  SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references)
          指定した標準化メソッドおよび署名メソッド、1 つ以上の参照のリストを使用して SignedInfo を作成します。
abstract  SignedInfo newSignedInfo(CanonicalizationMethod cm, SignatureMethod sm, List references, String id)
          指定したパラメータで SignedInfo を作成します。
abstract  Transform newTransform(String algorithm, TransformParameterSpec params)
          指定したアルゴリズム URI およびパラメータ用に Transform を作成します。
abstract  Transform newTransform(String algorithm, XMLStructure params)
          指定したアルゴリズム URI およびパラメータ用に Transform を作成します。
abstract  XMLObject newXMLObject(List content, String id, String mimeType, String encoding)
          指定したパラメータから XMLObject を作成します。
abstract  XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki)
          XMLSignature を作成し、その内容を指定した SignedInfo オブジェクトおよび KeyInfo オブジェクトで初期化します。
abstract  XMLSignature newXMLSignature(SignedInfo si, KeyInfo ki, List objects, String id, String signatureValueId)
          指定したパラメータを使用して、XMLSignature を作成します。
abstract  XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure)
          機構固有の XMLStructure インスタンスからの新しい XMLSignature インスタンスを非整列化します。
abstract  XMLSignature unmarshalXMLSignature(XMLValidateContext context)
          機構固有の XMLValidateContext インスタンスからの新しい XMLSignature インスタンスを非整列化します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

XMLSignatureFactory

protected XMLSignatureFactory()
デフォルトのコンストラクタ、サブクラスによる呼び出し用。

メソッドの詳細

getInstance

public static XMLSignatureFactory getInstance(String mechanismType)
指定された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。  

このメソッドは標準 JCA プロバイダ検索機構を使用して、目的の機構型の XMLSignatureFactory 実装を検出およびインスタンス化します。登録済みのセキュリティー Provider のリストを、最優先の Provider からたどります。指定した機構をサポートする最初の Provider からの新しい XMLSignatureFactory オブジェクトが返されます。  

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
mechanismType - XML 処理機構および表現の 型。標準の機構型のリストについては、API の概要の 「サービスプロバイダ」セクションを 参照してください。
戻り値:
新しい XMLSignatureFactory
例外:
NullPointerException - mechanismTypenull の場合
NoSuchMechanismException - 指定した機構の XMLSignatureFactory 実装をサポートする Provider がない場合
関連項目:
Provider

getInstance

public static XMLSignatureFactory getInstance(String mechanismType,
                                              Provider provider)
指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。指定した Provider オブジェクトは、プロバイダーリストに登録する必要はありません。

パラメータ:
mechanismType - XML 処理機構および表現の 型。標準の機構型のリストについては、API の概要の 「サービスプロバイダ」セクションを 参照してください。
provider - Provider オブジェクト
戻り値:
新しい XMLSignatureFactory
例外:
NullPointerException - provider または mechanismTypenull の場合
NoSuchMechanismException - 指定した機構用の XMLSignatureFactory 実装が指定した Provider オブジェクトから利用できない場合
関連項目:
Provider

getInstance

public static XMLSignatureFactory getInstance(String mechanismType,
                                              String provider)
                                       throws NoSuchProviderException
指定したプロバイダが提供する、要求された XML 処理機構および表現型 (例: "DOM") をサポートする XMLSignatureFactory を返します。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。  

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
mechanismType - XML 処理機構および表現の 型。標準の機構型のリストについては、API の概要の 「サービスプロバイダ」セクションを 参照してください。
provider - プロバイダ名の文字列名
戻り値:
新しい XMLSignatureFactory
例外:
NoSuchProviderException - 指定されたプロバイダが セキュリティープロバイダリストに登録されていない場合
NullPointerException - provider または mechanismTypenull の場合
NoSuchMechanismException - 指定した機構用の XMLSignatureFactory 実装が指定した プロバイダから利用できない場合
関連項目:
Provider

getInstance

public static XMLSignatureFactory getInstance()
デフォルトの XML 処理機構および表現型 ("DOM") をサポートする XMLSignatureFactory を返します。  

このメソッドは標準 JCA プロバイダ検索機構を使用して、デフォルトの機構型の XMLSignatureFactory 実装を検出およびインスタンス化します。登録済みのセキュリティー Provider のリストを、最優先の Provider からたどります。DOM 機構をサポートする最初の Provider からの新しい XMLSignatureFactory オブジェクトが返されます。  

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

戻り値:
新しい XMLSignatureFactory
例外:
NoSuchMechanismException - 指定した機構の XMLSignatureFactory 実装をサポートする Provider がない場合
関連項目:
Provider

getMechanismType

public final String getMechanismType()
この XMLSignatureFactory がサポートする XML 処理機構および表現の型を返します (例: "DOM")。

戻り値:
この XMLSignatureFactory がサポートする XML 処理機構型

getProvider

public final Provider getProvider()
この XMLSignatureFactory のプロバイダを返します。

戻り値:
この XMLSignatureFactory のプロバイダ

newXMLSignature

public abstract XMLSignature newXMLSignature(SignedInfo si,
                                             KeyInfo ki)
XMLSignature を作成し、その内容を指定した SignedInfo オブジェクトおよび KeyInfo オブジェクトで初期化します。

パラメータ:
si - 署名情報
ki - 鍵情報。null も可
戻り値:
XMLSignature
例外:
NullPointerException - sinull の場合

newXMLSignature

public abstract XMLSignature newXMLSignature(SignedInfo si,
                                             KeyInfo ki,
                                             List objects,
                                             String id,
                                             String signatureValueId)
指定したパラメータを使用して、XMLSignature を作成します。

パラメータ:
si - 署名情報
ki - 鍵情報。null も可
objects - XMLObject のリスト。 空または null も可
id - Id。null も可
signatureValueId - SignatureValue Id。null も可
戻り値:
XMLSignature
例外:
NullPointerException - sinull の場合
ClassCastException - objects のいずれかが 型 XMLObject の場合

newReference

public abstract Reference newReference(String uri,
                                       DigestMethod dm)
指定された URI およびダイジェストメソッドで Reference を作成します。

パラメータ:
uri - 参照 URI。null も可
dm - ダイジェストメソッド
戻り値:
Reference
例外:
IllegalArgumentException - uri が RFC 2396 準拠ではない場合
NullPointerException - dmnull の場合

newReference

public abstract Reference newReference(String uri,
                                       DigestMethod dm,
                                       List transforms,
                                       String type,
                                       String id)
指定されたパラメータで Reference を作成します。

パラメータ:
uri - 参照 URI。null も可
dm - ダイジェストメソッド
transforms - Transform のリスト。以後の変更から保護するために、 このリストは防御的にコピーされます。 null または空文字列も可
type - 参照型、URI として。null も可
id - 参照 ID。null も可
戻り値:
Reference
例外:
ClassCastException - transforms のいずれかが Transform の型ではない場合
IllegalArgumentException - uri が RFC 2396 準拠ではない場合
NullPointerException - dmnull の場合

newReference

public abstract Reference newReference(String uri,
                                       DigestMethod dm,
                                       List transforms,
                                       String type,
                                       String id,
                                       byte[] digestValue)
指定されたパラメータおよびあらかじめ計算されたダイジェスト値で Reference を作成します。  

このメソッドは、Reference のダイジェスト値が以前に計算されていた場合に便利です。たとえば、OASIS-DSS (Digital Signature Services) 仕様を参照してください。

パラメータ:
uri - 参照 URI。null も可
dm - ダイジェストメソッド
transforms - Transform のリスト。以後の変更から保護するために、 このリストは防御的にコピーされます。 null または空文字列も可
type - 参照型、URI として。null も可
id - 参照 ID。null も可
digestValue - ダイジェスト値。以後の変更から保護するために、 この配列は複製されます。
戻り値:
Reference
例外:
ClassCastException - transforms のいずれかが Transform の型ではない場合
IllegalArgumentException - uri が RFC 2396 準拠ではない場合
NullPointerException - dm または digestValuenull の場合

newReference

public abstract Reference newReference(String uri,
                                       DigestMethod dm,
                                       List appliedTransforms,
                                       Data result,
                                       List transforms,
                                       String type,
                                       String id)
指定したパラメータで Reference を作成します。  

このメソッドは、変換のリストがすでに Reference に対して適用されている場合に便利です。たとえば、OASIS-DSS (Digital Signature Services) 仕様を参照してください。  

この参照を含む XMLSignature が生成される場合、指定した transforms (null でない場合) は指定した result に適用されます。Reference 要素の結果として生じる Transforms 要素は、appliedTransformstransforms を連結したものに設定されます。

パラメータ:
uri - 参照 URI。null も可
dm - ダイジェストメソッド
appliedTransforms - すでに適用された Transform のリスト。以後の変更から保護するために、 このリストは防御的にコピーされます。リストには、 少なくとも 1 つのエントリを含む必要があります。
result - appliedTransforms のシーケンスを処理した結果
transforms - 署名を生成したときに適用される Transform のリスト。以後の変更から保護するために、 このリストは防御的にコピーされます。null または 空も可
type - 参照型、URI として。null も可
id - 参照 ID。null も可
戻り値:
Reference
例外:
ClassCastException - (どちらかのリストの) 変換がどれも Transform の型ではない場合
IllegalArgumentException - uri が RFC 2396 準拠ではない、またはappliedTransforms が空の場合
NullPointerException - dmappliedTransforms または resultnull の場合

newSignedInfo

public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm,
                                         SignatureMethod sm,
                                         List references)
指定した標準化メソッドおよび署名メソッド、1 つ以上の参照のリストを使用して SignedInfo を作成します。

パラメータ:
cm - 標準化メソッド
sm - 署名メソッド
references - 1 つ以上の Reference のリスト。 以後の変更から保護するために、このリストは防御的にコピーされます。
戻り値:
SignedInfo
例外:
ClassCastException - 参照のいずれかが Reference の型ではない場合
IllegalArgumentException - references が空の場合
NullPointerException - 任意のパラメータが null の場合

newSignedInfo

public abstract SignedInfo newSignedInfo(CanonicalizationMethod cm,
                                         SignatureMethod sm,
                                         List references,
                                         String id)
指定したパラメータで SignedInfo を作成します。

パラメータ:
cm - 標準化メソッド
sm - 署名メソッド
references - 1 つ以上の Reference のリスト。 以後の変更から保護するために、このリストは防御的にコピーされます。
id - Id。null も可
戻り値:
SignedInfo
例外:
ClassCastException - 参照のいずれかが Reference の型ではない場合
IllegalArgumentException - references が空の場合
NullPointerException - cmsm または referencesnull の場合

newXMLObject

public abstract XMLObject newXMLObject(List content,
                                       String id,
                                       String mimeType,
                                       String encoding)
指定したパラメータから XMLObject を作成します。

パラメータ:
content - XMLStructure のリスト。以後の変更から保護するために、 このリストは防御的にコピーされます。 null または空文字列も可
id - Id。null も可
mimeType - MIME タイプ。null も可
encoding - エンコーディング。null も可
戻り値:
XMLObject
例外:
ClassCastException - content に型 XMLStructure でないエントリが含まれる場合

newManifest

public abstract Manifest newManifest(List references)
指定された Reference のリストを格納する Manifest を作成します。

パラメータ:
references - 1 つ以上の Reference のリスト。 以後の変更から保護するために、このリストは防御的にコピーされます。
戻り値:
Manifest
例外:
NullPointerException - referencesnull の場合
IllegalArgumentException - references が空の場合
ClassCastException - references に型 Reference でないエントリが含まれる場合

newManifest

public abstract Manifest newManifest(List references,
                                     String id)
指定した Reference および省略可能な id のリストを格納する Manifest を作成します。

パラメータ:
references - 1 つ以上の Reference のリスト。 以後の変更から保護するために、このリストは防御的にコピーされます。
id - Id。null も可
戻り値:
Manifest
例外:
NullPointerException - referencesnull の場合
IllegalArgumentException - references が空の場合
ClassCastException - references に型 Reference でないエントリが含まれる場合

newSignatureProperty

public abstract SignatureProperty newSignatureProperty(List content,
                                                       String target,
                                                       String id)
指定した XMLStructure、ターゲット URI および省略可能な id のリストを格納する SignatureProperty を作成します。

パラメータ:
content - 1 つ以上の XMLStructure のリスト。 以後の変更から保護するために、このリストは防御的にコピーされます。
target - このプロパティーの適用先の Signature のターゲット URI
id - Id。null も可
戻り値:
SignatureProperty
例外:
NullPointerException - content または targetnull の場合
IllegalArgumentException - content が空の場合
ClassCastException - content に型 XMLStructure でないエントリが含まれる場合

newSignatureProperties

public abstract SignatureProperties newSignatureProperties(List properties,
                                                           String id)
指定した SignatureProperty および省略可能な id のリストを格納する SignatureProperties を作成します。

パラメータ:
properties - 1 つ以上の SignatureProperty のリスト。 以後の変更から保護するために、 このリストは防御的にコピーされます。
id - Id。null も可
戻り値:
SignatureProperties
例外:
NullPointerException - propertiesnull の場合
IllegalArgumentException - properties が空の場合
ClassCastException - properties に型 SignatureProperty でないエントリが含まれる場合

newDigestMethod

public abstract DigestMethod newDigestMethod(String algorithm,
                                             DigestMethodParameterSpec params)
                                      throws NoSuchAlgorithmException,
                                             InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に DigestMethod を作成します。

パラメータ:
algorithm - ダイジェストアルゴリズムを識別する URI
params - アルゴリズム固有のダイジェストパラメータ。 空または null も可
戻り値:
DigestMethod
例外:
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

newSignatureMethod

public abstract SignatureMethod newSignatureMethod(String algorithm,
                                                   SignatureMethodParameterSpec params)
                                            throws NoSuchAlgorithmException,
                                                   InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に SignatureMethod を作成します。

パラメータ:
algorithm - 署名アルゴリズムを識別する URI
params - アルゴリズム固有の署名パラメータ。 空または null も可
戻り値:
SignatureMethod
例外:
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

newTransform

public abstract Transform newTransform(String algorithm,
                                       TransformParameterSpec params)
                                throws NoSuchAlgorithmException,
                                       InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に Transform を作成します。

パラメータ:
algorithm - 変換アルゴリズムを識別する URI
params - 変換固有の署名パラメータ。 空または null も可
戻り値:
Transform
例外:
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

newTransform

public abstract Transform newTransform(String algorithm,
                                       XMLStructure params)
                                throws NoSuchAlgorithmException,
                                       InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に Transform を作成します。パラメータは機構固有の XMLStructure として指定されます (例: DOMStructure)。このメソッドは、パラメータが XML 形式でありパラメータ指定のための標準クラスがない場合に便利です。

パラメータ:
algorithm - 変換アルゴリズムを識別する URI
params - パラメータの非整列化を開始する 機構固有の XML 構造。 必須でないまたは省略可能な場合は null も可
戻り値:
Transform
例外:
ClassCastException - params の型が この XMLSignatureFactory には不適切な場合
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

newCanonicalizationMethod

public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm,
                                                                 C14NMethodParameterSpec params)
                                                          throws NoSuchAlgorithmException,
                                                                 InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に CanonicalizationMethod を作成します。

パラメータ:
algorithm - 標準化アルゴリズムを識別する URI
params - アルゴリズム固有の標準化パラメータ。 空または null も可
戻り値:
CanonicalizationMethod
例外:
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

newCanonicalizationMethod

public abstract CanonicalizationMethod newCanonicalizationMethod(String algorithm,
                                                                 XMLStructure params)
                                                          throws NoSuchAlgorithmException,
                                                                 InvalidAlgorithmParameterException
指定したアルゴリズム URI およびパラメータ用に CanonicalizationMethod を作成します。パラメータは機構固有の XMLStructure として指定されます (例: DOMStructure)。このメソッドは、パラメータが XML 形式でありパラメータ指定のための標準クラスがない場合に便利です。

パラメータ:
algorithm - 標準化アルゴリズムを識別する URI
params - パラメータの非整列化を開始する 機構固有の XML 構造。 必須でないまたは省略可能な場合は null も可
戻り値:
CanonicalizationMethod
例外:
ClassCastException - params の型が この XMLSignatureFactory には不適切な場合
InvalidAlgorithmParameterException - 指定されたパラメータが 要求されたアルゴリズムに対して不適切な場合
NoSuchAlgorithmException - 指定されたアルゴリズムの実装が 見つからない場合
NullPointerException - algorithmnull の場合

getKeyInfoFactory

public final KeyInfoFactory getKeyInfoFactory()
KeyInfo オブジェクトを作成する KeyInfoFactory を返します。返された KeyInfoFactory は、この XMLSignatureFactory と同じ機構型およびプロバイダを持ちます。

戻り値:
KeyInfoFactory
例外:
NoSuchMechanismException - 同じ機構型およびプロバイダを持つ KeyFactory 実装が 利用可能でない場合

unmarshalXMLSignature

public abstract XMLSignature unmarshalXMLSignature(XMLValidateContext context)
                                            throws MarshalException
機構固有の XMLValidateContext インスタンスからの新しい XMLSignature インスタンスを非整列化します。

パラメータ:
context - 署名の非整列化を開始する機構固有の コンテキスト
戻り値:
XMLSignature
例外:
NullPointerException - contextnull の場合
ClassCastException - context の型が このファクトリには不適切な場合
MarshalException - 非整列化中に 回復不可能な例外が発生する場合

unmarshalXMLSignature

public abstract XMLSignature unmarshalXMLSignature(XMLStructure xmlStructure)
                                            throws MarshalException
機構固有の XMLStructure インスタンスからの新しい XMLSignature インスタンスを非整列化します。このメソッドは、XMLSignature を非整列化するだけで検証しない場合に便利です。

パラメータ:
xmlStructure - 署名の非整列化を開始する 機構固有の XML 構造
戻り値:
XMLSignature
例外:
NullPointerException - xmlStructurenull の場合
ClassCastException - xmlStructure の型が このファクトリには不適切な場合
MarshalException - 非整列化中に 回復不可能な例外が発生する場合

isFeatureSupported

public abstract boolean isFeatureSupported(String feature)
指定した機能がサポートされるかどうかを示します。

パラメータ:
feature - 機能名 (絶対 URI として)
戻り値:
機能がサポートされる場合は true。 そうでない場合は false
例外:
NullPointerException - featurenull の場合

getURIDereferencer

public abstract URIDereferencer getURIDereferencer()
Reference オブジェクト内でデフォルトの間接参照 URI に使用される URIDereferencer への参照を返します。

戻り値:
デフォルトの URIDereferencer への参照 null にはならない

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。