- java.lang.Object
-
- javax.net.ssl.KeyManagerFactory
-
public class KeyManagerFactory extends Object
このクラスは、鍵データのソースに基づいて、鍵マネージャのファクトリとして機能します。 各鍵マネージャは、セキュア・ソケットが使用する鍵データを管理します。 鍵データは、キーストア、またはプロバイダ固有のソース、あるいはその両方に基づきます。- 導入されたバージョン:
- 1.4
- 関連項目:
KeyManager
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
KeyManagerFactoryオブジェクトを生成します。
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 String
getAlgorithm()
このKeyManagerFactory
オブジェクトのアルゴリズム名を返します。static String
getDefaultAlgorithm()
デフォルトのKeyManagerFactoryアルゴリズム名を取得します。static KeyManagerFactory
getInstance(String algorithm)
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。static KeyManagerFactory
getInstance(String algorithm, String provider)
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。static KeyManagerFactory
getInstance(String algorithm, Provider provider)
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。KeyManager[]
getKeyManagers()
鍵データの種類ごとに1つの鍵マネージャを返します。Provider
getProvider()
このKeyManagerFactory
オブジェクトのプロバイダを返します。void
init(KeyStore ks, char[] password)
鍵データのソースを使用して、このファクトリを初期化します。void
init(ManagerFactoryParameters spec)
プロバイダ固有の鍵データのソースを使用して、このファクトリを初期化します。
-
-
-
コンストラクタの詳細
-
KeyManagerFactory
protected KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
KeyManagerFactoryオブジェクトを生成します。- パラメータ:
factorySpi
- 委譲先provider
- プロバイダalgorithm
- アルゴリズム
-
-
メソッドの詳細
-
getDefaultAlgorithm
public static final String getDefaultAlgorithm()
デフォルトのKeyManagerFactoryアルゴリズム名を取得します。実行時にデフォルトのアルゴリズムを変更するには、
ssl.KeyManagerFactory.algorithm
セキュリティ・プロパティの値を目的のアルゴリズム名に設定します。- 戻り値:
ssl.KeyManagerFactory.algorithm
セキュリティ・プロパティで指定されているデフォルトのアルゴリズム名。そのようなプロパティが存在しない場合は実装固有のデフォルト。- 関連項目:
セキュリティ・プロパティ
-
getAlgorithm
public final String getAlgorithm()
このKeyManagerFactory
オブジェクトのアルゴリズム名を返します。これは、この
KeyManagerFactory
オブジェクトを作成したgetInstance
呼出しのいずれかに指定された名前と同じです。- 戻り値:
- この
KeyManagerFactory
オブジェクトのアルゴリズム名。
-
getInstance
public static final KeyManagerFactory getInstance(String algorithm) throws NoSuchAlgorithmException
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のプロバイダのKeyManagerFactorySpi実装をカプセル化する新しいKeyManagerFactoryオブジェクトが返されます。
登録済みプロバイダのリストは、
Security.getProviders()
メソッド経由で取得できます。- 実装上の注意:
- JDKリファレンス実装では、
jdk.security.provider.preferred
Security
プロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()
によって返されるプロバイダの順序とは異なる場合があります。 - パラメータ:
algorithm
- 要求されたアルゴリズムの標準名。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。- 戻り値:
- 新しい
KeyManagerFactory
オブジェクト - 例外:
NoSuchAlgorithmException
-Provider
が、指定されたアルゴリズムのKeyManagerFactorySpi
実装をサポートしていない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getInstance
public static final KeyManagerFactory getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。指定されたプロバイダからのKeyManagerFactorySpiの実装をカプセル化する新しいKeyManagerFactoryオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。
登録済みプロバイダのリストは、
Security.getProviders()
メソッド経由で取得できます。- パラメータ:
algorithm
- 要求されたアルゴリズムの標準名。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。provider
- プロバイダ名。- 戻り値:
- 新しい
KeyManagerFactory
オブジェクト - 例外:
IllegalArgumentException
- プロバイダ名がnull
または空の場合NoSuchAlgorithmException
- 指定されたアルゴリズムのKeyManagerFactorySpi
実装が、指定されたプロバイダから利用可能でない場合NoSuchProviderException
- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getInstance
public static final KeyManagerFactory getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
鍵マネージャのファクトリとして機能するKeyManagerFactory
オブジェクトを返します。指定されたProviderオブジェクトからのKeyManagerFactorySpiの実装をカプセル化する新しいKeyManagerFactoryオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。
- パラメータ:
algorithm
- 要求されたアルゴリズムの標準名。 標準的なアルゴリズム名については、「Javaセキュリティ標準アルゴリズム名」のドキュメントを参照してください。provider
- プロバイダのインスタンス。- 戻り値:
- 新しい
KeyManagerFactory
オブジェクト - 例外:
IllegalArgumentException
- providerがnull
の場合NoSuchAlgorithmException
- 指定されたProviderオブジェクトから指定されたアルゴリズムの@KeyManagerFactorySpi
実装を使用できない場合NullPointerException
-algorithm
がnull
である場合- 関連項目:
Provider
-
getProvider
public final Provider getProvider()
このKeyManagerFactory
オブジェクトのプロバイダを返します。- 戻り値:
- この
KeyManagerFactory
オブジェクトのプロバイダ
-
init
public final void init(KeyStore ks, char[] password) throws KeyStoreException, NoSuchAlgorithmException, UnrecoverableKeyException
鍵データのソースを使用して、このファクトリを初期化します。多くの場合、プロバイダはキーストアを使用して、セキュア・ソケットのネゴシエーション中に使用する鍵データを取得します。 キーストアは通常パスワードで保護されています。
より柔軟に初期化を行うには、
init(ManagerFactoryParameters)
を参照してください。- パラメータ:
ks
- キーストアまたはnullpassword
- キーストアの鍵を復元するためのパスワード- 例外:
KeyStoreException
- この操作が失敗した場合。NoSuchAlgorithmException
- 指定されたアルゴリズムが指定されたプロバイダから使用できない場合。UnrecoverableKeyException
- 指定されたパスワードが間違っている場合など、鍵を復元できない場合。
-
init
public final void init(ManagerFactoryParameters spec) throws InvalidAlgorithmParameterException
プロバイダ固有の鍵データのソースを使用して、このファクトリを初期化します。一部のプロバイダでは、キーストアとパスワード以外に、初期化パラメータを必要とすることがあります。 特定のプロバイダの利用者は、プロバイダによる定義に従って、適切な
ManagerFactoryParameters
の実装を渡す必要があります。 その後、プロバイダはManagerFactoryParameters
実装の特定のメソッドを呼び出し、必要な情報を取得できます。- パラメータ:
spec
- プロバイダ固有のパラメータ仕様の実装- 例外:
InvalidAlgorithmParameterException
- エラーが検出された場合
-
getKeyManagers
public final KeyManager[] getKeyManagers()
鍵データの種類ごとに1つの鍵マネージャを返します。- 戻り値:
- 鍵マネージャ
- 例外:
IllegalStateException
- KeyManagerFactoryが初期化されていない場合
-
-