モジュール java.xml.crypto

クラスKeyInfoFactory

java.lang.Object
javax.xml.crypto.dsig.keyinfo.KeyInfoFactory

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

KeyInfoFactoryの各インスタンスは、特定のXMLメカニズム型をサポートします。 KeyInfoFactoryを作成するには、static getInstanceメソッドのうちの1つを呼び出し、目的のXMLメカニズム型内で渡します。たとえば:

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

このファクトリが生成するオブジェクトは、「DOMのメカニズム要件」で定義されているDOM相互運用性の要件に基づいて作成されます。 標準メカニズムのタイプのリストは、「Javaセキュリティ標準アルゴリズム名仕様」KeyInfoFactoryのセクションを参照してください。

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

     put("KeyInfoFactory.DOM", "org.example.DOMKeyInfoFactory");
 

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

実装は、デフォルトのメカニズム・タイプDOMを最低限サポートする必要があります。

呼出し側は同じKeyInfoFactoryインスタンスを使用して、特定のKeyInfoオブジェクトのXMLStructureを作成する必要があります。 異なるプロバイダからのXMLStructureまたは異なるメカニズム型がともに使用される場合、動作は定義されていません。

並行アクセス

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

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

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