JavaTM Platform
Standard Ed. 6

javax.net.ssl
クラス KeyManagerFactory

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, Provider provider)
          鍵マネージャーのファクトリとして機能する KeyManagerFactory オブジェクトを返します。
static KeyManagerFactory getInstance(String algorithm, String provider)
          鍵マネージャーのファクトリとして機能する KeyManagerFactory オブジェクトを返します。
 KeyManager[] getKeyManagers()
          鍵データの種類ごとに 1 つの鍵マネージャーを返します。
 Provider getProvider()
          この KeyManagerFactory オブジェクトのプロバイダを返します。
 void init(KeyStore ks, char[] password)
          鍵データのソースを使用して、このファクトリを初期化します。
 void init(ManagerFactoryParameters spec)
          プロバイダ固有の鍵データのソースを使用して、このファクトリを初期化します。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

KeyManagerFactory

protected KeyManagerFactory(KeyManagerFactorySpi factorySpi,
                            Provider provider,
                            String algorithm)
KeyManagerFactory オブジェクトを生成します。

パラメータ:
factorySpi - 委譲先
provider - プロバイダ
algorithm - アルゴリズム
メソッドの詳細

getDefaultAlgorithm

public static final String getDefaultAlgorithm()
デフォルトの KeyManagerFactory アルゴリズム名を取得します。  

デフォルトのアルゴリズムは、ssl.KeyManagerFactory.algorithm セキュリティープロパティーの値を目的のアルゴリズム名に設定することによって、実行時に変更できます。 アルゴリズム名は、Java セキュリティープロパティーファイルで設定するか、Security.setProperty(java.lang.String, java.lang.String) を呼び出すことによって設定します。

戻り値:
Java セキュリティープロパティーファイルに指定されているデフォルトのアルゴリズム名。プロパティーが存在しない場合は、実装固有のデフォルト
関連項目:
Security.setProperty(java.lang.String, java.lang.String)

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() メソッド経由で取得できます。

パラメータ:
algorithm - 要求されたアルゴリズムの標準名標準のアルゴリズム名については、『Java Secure Socket Extension リファレンスガイド』の付録 A を参照
戻り値:
新しい KeyManagerFactory オブジェクト。
例外:
NoSuchAlgorithmException - 指定したアルゴリズムの KeyManagerFactorySpi の実装をサポートするプロバイダが存在しない場合
関連項目:
Provider

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  String provider)
                                           throws NoSuchAlgorithmException,
                                                  NoSuchProviderException
鍵マネージャーのファクトリとして機能する KeyManagerFactory オブジェクトを返します。  

指定されたプロバイダからの KeyManagerFactorySpi の実装をカプセル化する新しい KeyManagerFactory オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。  

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
algorithm - 要求されたアルゴリズムの標準名標準のアルゴリズム名については、『Java Secure Socket Extension リファレンスガイド』の付録 A を参照
provider - プロバイダ名
戻り値:
新しい KeyManagerFactory オブジェクト。
例外:
NoSuchAlgorithmException - 指定されたプロバイダに、指定されたアルゴリズムの KeyManagerFactorySpi の実装がない場合
NoSuchProviderException - 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - プロバイダの名前が null か空の場合
関連項目:
Provider

getInstance

public static final KeyManagerFactory getInstance(String algorithm,
                                                  Provider provider)
                                           throws NoSuchAlgorithmException
鍵マネージャーのファクトリとして機能する KeyManagerFactory オブジェクトを返します。  

指定された Provider オブジェクトからの KeyManagerFactorySpi の実装をカプセル化する新しい KeyManagerFactory オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。

パラメータ:
algorithm - 要求されたアルゴリズムの標準名標準のアルゴリズム名については、『Java Secure Socket Extension リファレンスガイド』の付録 A を参照
provider - プロバイダのインスタンス。
戻り値:
新しい KeyManagerFactory オブジェクト。
例外:
NoSuchAlgorithmException - 指定された Provider オブジェクトに、指定されたアルゴリズムの KeyManagerFactorySpi の実装がない場合
IllegalArgumentException - プロバイダが 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 - キーストアまたは null
password - キーストアの鍵を復元するためのパスワード
例外:
KeyStoreException - この処理が失敗した場合
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムがない場合
UnrecoverableKeyException - 指定されたパスワードが間違っている場合など、鍵を復元できない場合

init

public final void init(ManagerFactoryParameters spec)
                throws InvalidAlgorithmParameterException
プロバイダ固有の鍵データのソースを使用して、このファクトリを初期化します。

一部のプロバイダでは、キーストアとパスワード以外に、初期化パラメータを必要とすることがあります。特定のプロバイダの利用者は、プロバイダによる定義に従って、適切な ManagerFactoryParameters の実装を渡す必要があります。その後、プロバイダは ManagerFactoryParameters 実装の特定のメソッドを呼び出し、必要な情報を取得できます。

パラメータ:
spec - プロバイダ固有のパラメータ仕様の実装
例外:
InvalidAlgorithmParameterException - エラーが発生した場合

getKeyManagers

public final KeyManager[] getKeyManagers()
鍵データの種類ごとに 1 つの鍵マネージャーを返します。

戻り値:
鍵マネージャー
例外:
IllegalStateException - KeyManagerFactory が初期化されていない場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。