public abstract class KeyInfoFactory extends Object
KeyInfoオブジェクトを作成するため、または対応するXML表現からKeyInfoオブジェクトを非整列化するためのファクトリ。
KeyInfoFactoryの各インスタンスは、特定のXMLメカニズム型をサポートします。KeyInfoFactoryを作成するには、static getInstanceメソッドのうちの1つを呼び出し、目的のXMLメカニズム型内で渡します。次に例を示します。
KeyInfoFactory factory = KeyInfoFactory.getInstance("DOM");
このファクトリが生成するオブジェクトはDOMに基づいており、APIの概要の「DOMメカニズム要件」セクションで定義されているDOM相互運用性の要件に従う必要があります。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。
KeyInfoFactory実装は、Providerメカニズムを使用して登録およびロードされます。たとえば、DOMメカニズムをサポートするサービス・プロバイダはProviderサブクラスで次のように指定されます。
put("KeyInfoFactory.DOM", "org.example.DOMKeyInfoFactory");
また、このファクトリによって作成されるXMLStructureには、KeyInfoに固有で再利用には対応していない状態が格納されます。
実装は、デフォルトのメカニズム・タイプDOMを最低限サポートする必要があります。
呼出し側は同じKeyInfoFactoryインスタンスを使用して、特定のKeyInfoオブジェクトのXMLStructureを作成する必要があります。異なるプロバイダからのXMLStructureまたは異なるメカニズム型がともに使用される場合、動作は定義されていません。
並行アクセス
このクラスのstaticメソッドは、スレッド・セーフであることが保証されています。このクラスで定義されているstaticメソッドは、悪影響を与えることなく、複数スレッドが並行して呼び出すことができます。
しかしこのことは、このクラスで定義されている非staticメソッドには当てはまりません。特定のプロバイダで特に説明がないかぎり、単一のKeyInfoFactoryインスタンスに並行してアクセスする必要のある複数スレッドは、スレッド間で同期を取り、必要に応じてロックしなければいけません。異なるKeyInfoFactoryインスタンスを操作する複数スレッドは、同期化される必要はありません。
| 修飾子 | コンストラクタと説明 |
|---|---|
protected |
KeyInfoFactory()
デフォルトのコンストラクタ、サブクラスによる呼出し用。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
static KeyInfoFactory |
getInstance()
デフォルトのXML処理メカニズムおよび表現型("DOM")をサポートする
KeyInfoFactoryを返します。 |
static KeyInfoFactory |
getInstance(String mechanismType)
指定されたXML処理メカニズムおよび表現の型(例: 「DOM」)をサポートする
KeyInfoFactoryを返します。 |
static KeyInfoFactory |
getInstance(String mechanismType, Provider provider)
指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートする
KeyInfoFactoryを返します。 |
static KeyInfoFactory |
getInstance(String mechanismType, String provider)
指定したプロバイダが提供する、要求されたXML処理メカニズムおよび表現型(例: 「DOM」)をサポートする
KeyInfoFactoryを返します。 |
String |
getMechanismType()
この
KeyInfoFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。 |
Provider |
getProvider()
この
KeyInfoFactoryのプロバイダを返します。 |
abstract URIDereferencer |
getURIDereferencer()
RetrievalMethodオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。 |
abstract boolean |
isFeatureSupported(String feature)
指定した機能がサポートされるかどうかを示します。
|
abstract KeyInfo |
newKeyInfo(List content)
指定された鍵情報の型のリストを格納する
KeyInfoを作成します。 |
abstract KeyInfo |
newKeyInfo(List content, String id)
指定された鍵情報の型およびオプションの識別子のリストを格納する
KeyInfoを作成します。 |
abstract KeyName |
newKeyName(String name)
指定された名前から
KeyNameを作成します。 |
abstract KeyValue |
newKeyValue(PublicKey key)
指定された公開鍵から
KeyValueを作成します。 |
abstract PGPData |
newPGPData(byte[] keyId)
指定したPGP公開鍵識別子から
PGPDataを作成します。 |
abstract PGPData |
newPGPData(byte[] keyId, byte[] keyPacket, List other)
指定したPGP公開鍵識別子、およびオプションの鍵データ・パケットと外部要素のリストから
PGPDataを作成します。 |
abstract PGPData |
newPGPData(byte[] keyPacket, List other)
指定したPGP鍵データ・パケット、およびオプションの外部要素のリストから
PGPDataを作成します。 |
abstract RetrievalMethod |
newRetrievalMethod(String uri)
指定されたURIから
RetrievalMethodを作成します。 |
abstract RetrievalMethod |
newRetrievalMethod(String uri, String type, List transforms)
指定されたパラメータから
RetrievalMethodを作成します。 |
abstract X509Data |
newX509Data(List content)
指定したX.509コンテンツのリストを格納する
X509Dataを作成します。 |
abstract X509IssuerSerial |
newX509IssuerSerial(String issuerName, BigInteger serialNumber)
指定したX.500発行者識別名およびシリアル番号から
X509IssuerSerialを作成します。 |
abstract KeyInfo |
unmarshalKeyInfo(XMLStructure xmlStructure)
|
public static KeyInfoFactory getInstance(String mechanismType)
KeyInfoFactoryを返します。
このメソッドは標準JCAプロバイダ検索メカニズムを使用して、目的のメカニズム型のKeyInfoFactory実装を検出およびインスタンス化します。登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。指定したメカニズムをサポートする最初のProviderからの新しいKeyInfoFactoryオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。KeyInfoFactoryNullPointerException - mechanismTypeがnullである場合NoSuchMechanismException - 指定したメカニズムのKeyInfoFactory実装をサポートするProviderが存在しない場合Providerpublic static KeyInfoFactory getInstance(String mechanismType, Provider provider)
KeyInfoFactoryを返します。指定したProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。provider - ProviderオブジェクトKeyInfoFactoryNullPointerException - mechanismTypeまたはproviderがnullの場合NoSuchMechanismException - 指定したメカニズム用のKeyInfoFactory実装が指定したProviderオブジェクトで使用できない場合Providerpublic static KeyInfoFactory getInstance(String mechanismType, String provider) throws NoSuchProviderException
KeyInfoFactoryを返します。指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
mechanismType - XML処理メカニズムおよび表現の型。標準のメカニズム型のリストについては、APIの概要の「サービス・プロバイダ」セクションを参照してください。provider - プロバイダ名の文字列名KeyInfoFactoryNoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException - mechanismTypeまたはproviderがnullの場合NoSuchMechanismException - 指定したメカニズム用のKeyInfoFactory実装が指定したプロバイダで使用できない場合Providerpublic static KeyInfoFactory getInstance()
KeyInfoFactoryを返します。
このメソッドは標準JCAプロバイダ検索メカニズムを使用して、デフォルトのメカニズム型のKeyInfoFactory実装を検出およびインスタンス化します。登録済みのセキュリティProviderのリストを、最優先のProviderからトラバースします。DOMメカニズムをサポートする最初のProviderからの新しいKeyInfoFactoryオブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。
KeyInfoFactoryNoSuchMechanismException - DOMメカニズムのKeyInfoFactory実装をサポートするProviderが存在しない場合Providerpublic final String getMechanismType()
KeyInfoFactoryがサポートするXML処理メカニズムおよび表現の型を返します(例: 「DOM」)。KeyInfoFactoryがサポートするXML処理メカニズム型public final Provider getProvider()
KeyInfoFactoryのプロバイダを返します。KeyInfoFactoryのプロバイダpublic abstract KeyInfo newKeyInfo(List content)
KeyInfoを作成します。content - 鍵情報の型を表現する1つ以上のXMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。KeyInfoNullPointerException - contentがnullである場合IllegalArgumentException - contentが空である場合ClassCastException - contentにXMLStructure型ではないエントリが含まれている場合public abstract KeyInfo newKeyInfo(List content, String id)
KeyInfoを作成します。idパラメータはXML ID属性の値を表現し、ほかのXML構造からKeyInfoを参照する場合に便利です。content - 鍵情報の型を表現する1つ以上のXMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。id - XML IDの値。nullも可KeyInfoNullPointerException - contentがnullである場合IllegalArgumentException - contentが空である場合ClassCastException - contentにXMLStructure型ではないエントリが含まれている場合public abstract KeyName newKeyName(String name)
KeyNameを作成します。name - 鍵を識別する名前KeyNameNullPointerException - nameがnullである場合public abstract KeyValue newKeyValue(PublicKey key) throws KeyException
KeyValueを作成します。key - 公開鍵KeyValueKeyException - keyのアルゴリズムがこのKeyInfoFactoryによって認識またはサポートされない場合NullPointerException - keyがnullである場合public abstract PGPData newPGPData(byte[] keyId)
PGPDataを作成します。keyId - RFC 2440、セクション11.2で定義されているPGP公開鍵識別子。以後の変更から保護するために、この配列は複製される。PGPDataNullPointerException - keyIdがnullである場合IllegalArgumentException - 鍵識別子の形式が正しくない場合public abstract PGPData newPGPData(byte[] keyId, byte[] keyPacket, List other)
PGPDataを作成します。keyId - RFC 2440、セクション11.2で定義されているPGP公開鍵識別子。以後の変更から保護するために、この配列は複製される。keyPacket - RFC 2440、セクション5.5で定義されているPGP鍵データ・パケット。以後の変更から保護するために、この配列は複製される。nullも可。other - 外部名前空間からの要素を表現するXMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。PGPDataNullPointerException - keyIdがnullである場合IllegalArgumentException - keyIdまたはkeyPacketの形式が正しくない場合。keyPacketの場合、パケット・ヘッダーの形式が判定され、タグは鍵データの型であるか検査される。パケット本体のコンテンツと形式は検査されない。ClassCastException - otherにXMLStructure型ではないエントリが含まれている場合public abstract PGPData newPGPData(byte[] keyPacket, List other)
PGPDataを作成します。keyPacket - RFC 2440、セクション5.5で定義されているPGP鍵データ・パケット。以後の変更から保護するために、この配列は複製される。other - 外部名前空間からの要素を表現するXMLStructureのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。PGPDataNullPointerException - keyPacketがnullである場合IllegalArgumentException - keyPacketの形式が正しくない場合。keyPacketの場合、パケット・ヘッダーの形式が判定され、タグは鍵データの型であるか検査される。パケット本体のコンテンツと形式は検査されない。ClassCastException - otherにXMLStructure型ではないエントリが含まれている場合public abstract RetrievalMethod newRetrievalMethod(String uri)
RetrievalMethodを作成します。uri - 取得されるKeyInfo情報を識別するURIRetrievalMethodNullPointerException - uriがnullである場合IllegalArgumentException - uriがRFC 2396に準拠していない場合public abstract RetrievalMethod newRetrievalMethod(String uri, String type, List transforms)
RetrievalMethodを作成します。uri - 取得されるKeyInfo情報を識別するURItype - 取得されるKeyInfo情報の型を識別するURI。nullも可transforms - Transformのリスト。以後の変更から保護するために、このリストは防御的にコピーされる。nullまたは空文字列も可。RetrievalMethodNullPointerException - uriがnullである場合IllegalArgumentException - uriがRFC 2396に準拠していない場合ClassCastException - transformsにTransform型ではないエントリが含まれている場合public abstract X509Data newX509Data(List content)
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)をサポートする必要がある。実装は、追加のキーワードをサポートすることもできる。以後の変更から保護するために、このリストは防御的にコピーされる。X509DataNullPointerException - contentがnullである場合IllegalArgumentException - contentが空の場合、被認証者名がRFC 2253に準拠していない場合、または属性の型キーワードの1つが認識されない場合。ClassCastException - contentに上記の有効な型のどれでもないエントリが含まれている場合public abstract X509IssuerSerial newX509IssuerSerial(String issuerName, BigInteger serialNumber)
X509IssuerSerialを作成します。issuerName - RFC 2253 String形式の発行者の識別名。実装は、RFC 2253で定義されている属性の型キーワード(CN、L、ST、O、OU、C、STREET、DC、およびUID)をサポートする必要がある。実装は、追加のキーワードをサポートすることもできる。serialNumber - シリアル番号X509IssuerSerialNullPointerException - issuerNameまたはserialNumberがnullの場合IllegalArgumentException - 発行者名がRFC 2253に準拠していない場合、または属性の型キーワードの1つが認識されない場合。public abstract boolean isFeatureSupported(String feature)
feature - 機能名(絶対URIとして)true、そうでない場合はfalseNullPointerException - featureがnullである場合public abstract URIDereferencer getURIDereferencer()
RetrievalMethodオブジェクト内でデフォルトの間接参照URIに使用されるURIDereferencerへの参照を返します。URIDereferencerへの参照public abstract KeyInfo unmarshalKeyInfo(XMLStructure xmlStructure) throws MarshalException
xmlStructure - keyinfoの非整列化を開始するメカニズム固有のXML構造KeyInfoNullPointerException - xmlStructureがnullである場合ClassCastException - xmlStructureの型がこのファクトリには不適切な場合MarshalException - 非整列化の実行中に回復不可能な例外が発生した場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.