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
- 
コンストラクタのサマリーコンストラクタ
- 
メソッドのサマリー修飾子と型メソッド説明static KeyInfoFactoryデフォルトのXML処理メカニズムおよび表現型("DOM")をサポートするKeyInfoFactoryを返します。static KeyInfoFactorygetInstance(String mechanismType)指定されたXML処理メカニズムおよび表現の型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。static KeyInfoFactorygetInstance(String mechanismType, String provider)指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。static KeyInfoFactorygetInstance(String mechanismType, Provider provider)指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。このKeyInfoFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。このKeyInfoFactoryのプロバイダを返します。abstract URIDereferencerRetrievalMethodオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。abstract booleanisFeatureSupported(String feature)指定した機能がサポートされるかどうかを示します。abstract KeyInfonewKeyInfo(List<? extends XMLStructure> content)指定されたキー情報の型のリストを格納するKeyInfoを作成します。abstract KeyInfonewKeyInfo(List<? extends XMLStructure> content, String id)指定されたキー情報の型およびオプションの識別子のリストを格納するKeyInfoを作成します。abstract KeyNamenewKeyName(String name)指定された名前からKeyNameを作成します。abstract KeyValuenewKeyValue(PublicKey key)指定された公開キーからKeyValueを作成します。abstract PGPDatanewPGPData(byte[] keyId)指定したPGP公開キー識別子からPGPDataを作成します。abstract PGPDatanewPGPData(byte[] keyId, byte[] keyPacket, List<? extends XMLStructure> other)指定したPGP公開キー識別子、およびオプションのキー・データ・パケットと外部要素のリストからPGPDataを作成します。abstract PGPDatanewPGPData(byte[] keyPacket, List<? extends XMLStructure> other)指定したPGPキー・データ・パケット、およびオプションの外部要素のリストからPGPDataを作成します。abstract RetrievalMethodnewRetrievalMethod(String uri)指定されたURIからRetrievalMethodを作成します。abstract RetrievalMethodnewRetrievalMethod(String uri, String type, List<? extends Transform> transforms)指定されたパラメータからRetrievalMethodを作成します。abstract X509DatanewX509Data(List<?> content)指定したX.509コンテンツのリストを格納するX509Dataを作成します。abstract X509IssuerSerialnewX509IssuerSerial(String issuerName, BigInteger serialNumber)指定したX.500発行者識別名およびシリアル番号からX509IssuerSerialを作成します。abstract KeyInfounmarshalKeyInfo(XMLStructure xmlStructure)メカニズム固有のXMLStructure(例:DOMStructure)インスタンスからの新しいKeyInfoインスタンスを非整列化します。
- 
コンストラクタの詳細- 
KeyInfoFactoryprotected KeyInfoFactory()デフォルトのコンストラクタ、サブクラスによる呼出し用。
 
- 
- 
メソッドの詳細- 
getInstancepublic static KeyInfoFactory getInstance(String mechanismType)指定されたXML処理メカニズムおよび表現の型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。このメソッドは標準JCAプロバイダ検索メカニズムを使用して、目的のメカニズム型の KeyInfoFactory実装を検出およびインスタンス化します。 登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。 指定したメカニズムをサポートする最初のProviderからの新しいKeyInfoFactoryオブジェクトが返されます。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- mechanismType- XML処理メカニズムおよび表現の型。 標準メカニズムのタイプのリストは、「Javaセキュリティ標準アルゴリズム名仕様」の- KeyInfoFactoryのセクションを参照してください。
- 戻り値:
- 新しいKeyInfoFactory
- 例外:
- NullPointerException-- mechanismTypeが- nullである場合
- NoSuchMechanismException- 指定したメカニズムの- KeyInfoFactory実装をサポートする- Providerが存在しない場合
- 関連項目:
- Provider
 
- 
getInstancepublic static KeyInfoFactory getInstance(String mechanismType, Provider provider)指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。 指定したProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。- パラメータ:
- mechanismType- XML処理メカニズムおよび表現の型。 標準メカニズムのタイプのリストは、「Javaセキュリティ標準アルゴリズム名仕様」の- KeyInfoFactoryのセクションを参照してください。
- provider-- Providerオブジェクト
- 戻り値:
- 新しいKeyInfoFactory
- 例外:
- NullPointerException-- mechanismTypeまたは- providerが- nullの場合
- NoSuchMechanismException- 指定したメカニズム用の- KeyInfoFactory実装が指定した- Providerオブジェクトで使用できない場合
- 関連項目:
- Provider
 
- 
getInstancepublic static KeyInfoFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートするKeyInfoFactoryを返します。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- mechanismType- XML処理メカニズムおよび表現の型。 標準メカニズムのタイプのリストは、「Javaセキュリティ標準アルゴリズム名仕様」の- KeyInfoFactoryのセクションを参照してください。
- provider- プロバイダ名の文字列名
- 戻り値:
- 新しいKeyInfoFactory
- 例外:
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- mechanismTypeまたは- providerが- nullの場合
- NoSuchMechanismException- 指定したメカニズム用の- KeyInfoFactory実装が指定したプロバイダで使用できない場合
- 関連項目:
- Provider
 
- 
getInstancepublic static KeyInfoFactory getInstance()デフォルトのXML処理メカニズムおよび表現型("DOM")をサポートするKeyInfoFactoryを返します。このメソッドは標準JCAプロバイダ検索メカニズムを使用して、デフォルトのメカニズム型の KeyInfoFactory実装を検出およびインスタンス化します。 登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。 DOMメカニズムをサポートする最初のProviderからの新しいKeyInfoFactoryオブジェクトが返されます。登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- 戻り値:
- 新しいKeyInfoFactory
- 例外:
- NoSuchMechanismException- DOMメカニズムの- KeyInfoFactory実装をサポートする- Providerが存在しない場合
- 関連項目:
- Provider
 
- 
getMechanismTypepublic final String getMechanismType()このKeyInfoFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。- 戻り値:
- このKeyInfoFactoryがサポートするXML処理メカニズム型
 
- 
getProviderpublic final Provider getProvider()このKeyInfoFactoryのプロバイダを返します。- 戻り値:
- このKeyInfoFactoryのプロバイダ
 
- 
newKeyInfopublic abstract KeyInfo newKeyInfo(List<? extends XMLStructure> content)指定されたキー情報の型のリストを格納するKeyInfoを作成します。- パラメータ:
- content- キー情報の型を表現する1つ以上の- XMLStructureのリスト。 以後の変更から保護するために、このリストは防御的にコピーされる。
- 戻り値:
- KeyInfo
- 例外:
- NullPointerException-- contentが- nullである場合
- IllegalArgumentException-- contentが空である場合
- ClassCastException-- contentに- XMLStructure型ではないエントリが含まれている場合
 
- 
newKeyInfopublic abstract KeyInfo newKeyInfo(List<? extends XMLStructure> content, String id)指定されたキー情報の型およびオプションの識別子のリストを格納するKeyInfoを作成します。idパラメータはXMLID属性の値を表現し、ほかのXML構造からKeyInfoを参照する場合に便利です。- パラメータ:
- content- キー情報の型を表現する1つ以上の- XMLStructureのリスト。 以後の変更から保護するために、このリストは防御的にコピーされる。
- id- XML- IDの値。- nullも可
- 戻り値:
- KeyInfo
- 例外:
- NullPointerException-- contentが- nullである場合
- IllegalArgumentException-- contentが空である場合
- ClassCastException-- contentに- XMLStructure型ではないエントリが含まれている場合
 
- 
newKeyName指定された名前からKeyNameを作成します。- パラメータ:
- name- キーを識別する名前
- 戻り値:
- KeyName
- 例外:
- NullPointerException-- nameが- nullである場合
 
- 
newKeyValuepublic abstract KeyValue newKeyValue(PublicKey key) throws KeyException指定された公開キーからKeyValueを作成します。- パラメータ:
- key- 公開キー
- 戻り値:
- KeyValue
- 例外:
- KeyException-- keyのアルゴリズムがこの- KeyInfoFactoryによって認識またはサポートされない場合
- NullPointerException-- keyが- nullである場合
 
- 
newPGPDatapublic abstract PGPData newPGPData(byte[] keyId)指定したPGP公開キー識別子からPGPDataを作成します。- パラメータ:
- keyId- RFC 2440、セクション11.2で定義されているPGP公開キー識別子。 以後の変更から保護するために、この配列は複製される。
- 戻り値:
- PGPData
- 例外:
- NullPointerException-- keyIdが- nullである場合
- IllegalArgumentException- キー識別子の形式が正しくない場合
 
- 
newPGPDatapublic abstract PGPData newPGPData(byte[] keyId, byte[] keyPacket, List<? extends XMLStructure> other)指定したPGP公開キー識別子、およびオプションのキー・データ・パケットと外部要素のリストからPGPDataを作成します。- パラメータ:
- keyId- RFC 2440、セクション11.2で定義されているPGP公開キー識別子。 以後の変更から保護するために、この配列は複製される。
- keyPacket- RFC 2440、セクション5.5で定義されているPGPキー・データ・パケット。 以後の変更から保護するために、この配列は複製される。- nullも可。
- other- 外部名前空間からの要素を表現する- XMLStructureのリスト。 以後の変更から保護するために、このリストは防御的にコピーされる。- nullまたは空文字列も可。
- 戻り値:
- PGPData
- 例外:
- NullPointerException-- keyIdが- nullである場合
- IllegalArgumentException-- keyIdまたは- keyPacketの形式が正しくない場合。- keyPacketの場合、パケット・ヘッダーの形式が判定され、タグはキー・データの型であるか検査される。 パケット本体のコンテンツと形式は検査されない。
- ClassCastException-- otherに- XMLStructure型ではないエントリが含まれている場合
 
- 
newPGPDatapublic abstract PGPData newPGPData(byte[] keyPacket, List<? extends XMLStructure> other)指定したPGPキー・データ・パケット、およびオプションの外部要素のリストからPGPDataを作成します。- パラメータ:
- keyPacket- RFC 2440、セクション5.5で定義されているPGPキー・データ・パケット。 以後の変更から保護するために、この配列は複製される。
- other- 外部名前空間からの要素を表現する- XMLStructureのリスト。 以後の変更から保護するために、このリストは防御的にコピーされる。- nullまたは空文字列も可。
- 戻り値:
- PGPData
- 例外:
- NullPointerException-- keyPacketが- nullである場合
- IllegalArgumentException-- keyPacketの形式が正しくない場合。- keyPacketの場合、パケット・ヘッダーの形式が判定され、タグはキー・データの型であるか検査される。 パケット本体のコンテンツと形式は検査されない。
- ClassCastException-- otherに- XMLStructure型ではないエントリが含まれている場合
 
- 
newRetrievalMethodpublic abstract RetrievalMethod newRetrievalMethod(String uri)指定されたURIからRetrievalMethodを作成します。- パラメータ:
- uri- 取得される- KeyInfo情報を識別するURI
- 戻り値:
- RetrievalMethod
- 例外:
- NullPointerException-- uriが- nullである場合
- IllegalArgumentException-- uriがRFC 2396に準拠していない場合
 
- 
newRetrievalMethodpublic abstract RetrievalMethod newRetrievalMethod(String uri, String type, List<? extends Transform> transforms)指定されたパラメータからRetrievalMethodを作成します。- パラメータ:
- uri- 取得される- KeyInfo情報を識別するURI
- type- 取得される- KeyInfo情報の型を識別するURI。- nullも可
- transforms-- Transformのリスト。 以後の変更から保護するために、このリストは防御的にコピーされる。- nullまたは空文字列も可。
- 戻り値:
- RetrievalMethod
- 例外:
- NullPointerException-- uriが- nullである場合
- IllegalArgumentException-- uriがRFC 2396に準拠していない場合
- ClassCastException-- transformsに- Transform型ではないエントリが含まれている場合
 
- 
newX509Data指定したX.509コンテンツのリストを格納するX509Dataを作成します。- パラメータ:
- content- 1つ以上のX.509コンテンツ型のリスト。 有効な型は、- String(被認証者名)、- byte[](被認証者のキー識別子)、- X509Certificate、- X509CRL、または- XMLStructure(- X509IssuerSerialオブジェクトまたは外部名前空間からの要素)です。 被認証者名はRFC 2253 String形式の識別名である。 実装は、RFC 2253で定義されている属性の型キーワード(CN、L、ST、O、OU、C、STREET、DC、およびUID)をサポートする必要がある。 実装は、追加のキーワードをサポートすることもできる。 以後の変更から保護するために、このリストは防御的にコピーされる。
- 戻り値:
- X509Data
- 例外:
- NullPointerException-- contentが- nullである場合
- IllegalArgumentException-- contentが空の場合、被認証者名がRFC 2253に準拠していない場合、または属性の型キーワードの1つが認識されない場合。
- ClassCastException-- contentに上記の有効な型のどれでもないエントリが含まれている場合
 
- 
newX509IssuerSerialpublic abstract X509IssuerSerial newX509IssuerSerial(String issuerName, BigInteger serialNumber)指定したX.500発行者識別名およびシリアル番号からX509IssuerSerialを作成します。- パラメータ:
- issuerName- RFC 2253 String形式の発行者の識別名。 実装は、RFC 2253で定義されている属性の型キーワード(CN、L、ST、O、OU、C、STREET、DC、およびUID)をサポートする必要がある。 実装は、追加のキーワードをサポートすることもできる。
- serialNumber- シリアル番号
- 戻り値:
- X509IssuerSerial
- 例外:
- NullPointerException-- issuerNameまたは- serialNumberが- nullの場合
- IllegalArgumentException- 発行者名がRFC 2253に準拠していない場合、または属性の型キーワードの1つが認識されない場合。
 
- 
isFeatureSupportedpublic abstract boolean isFeatureSupported(String feature)指定した機能がサポートされるかどうかを示します。- パラメータ:
- feature- 機能名(絶対URIとして)
- 戻り値:
- 指定した機能がサポートされる場合はtrue、そうでない場合はfalse
- 例外:
- NullPointerException-- featureが- nullである場合
 
- 
getURIDereferencerpublic abstract URIDereferencer getURIDereferencer()RetrievalMethodオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。- 戻り値:
- デフォルトのURIDereferencerへの参照
 
- 
unmarshalKeyInfopublic abstract KeyInfo unmarshalKeyInfo(XMLStructure xmlStructure) throws MarshalExceptionメカニズム固有のXMLStructure(例:DOMStructure)インスタンスからの新しいKeyInfoインスタンスを非整列化します。- パラメータ:
- xmlStructure- keyinfoの非整列化を開始するメカニズム固有のXML構造
- 戻り値:
- KeyInfo
- 例外:
- NullPointerException-- xmlStructureが- nullである場合
- ClassCastException-- xmlStructureの型がこのファクトリには不適切な場合
- MarshalException- 非整列化の実行中に回復不可能な例外が発生した場合
 
 
-