- java.lang.Object
-
- javax.net.ssl.KeyManagerFactory
-
public class KeyManagerFactory extends Object
このクラスは、キー・データのソースに基づいて、キー・マネージャのファクトリとして機能します。 各キー・マネージャは、セキュア・ソケットが使用するキー・データを管理します。 キー・データは、キーストア、またはプロバイダ固有のソース、あるいはその両方に基づきます。- 導入されたバージョン:
- 1.4
- 関連項目:
KeyManager
-
-
コンストラクタのサマリー
コンストラクタ 修飾子 コンストラクタ 説明 protected
KeyManagerFactory(KeyManagerFactorySpi factorySpi, Provider provider, String algorithm)
KeyManagerFactoryオブジェクトを生成します。
-
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 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
セキュリティ・プロパティで指定されているデフォルトのアルゴリズム名。そのようなプロパティが存在しない場合は実装固有のデフォルト。- 関連項目:
security properties
-
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が初期化されていない場合
-
-