モジュール java.base
パッケージ 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, 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)
    プロバイダ固有のキー・データのソースを使用して、このファクトリを初期化します。

    クラス java.lang.Objectで宣言されたメソッド

    cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait
  • コンストラクタの詳細

    • 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 Security Standard Algorithm Names Specificationの「KeyManagerFactoryセクション」を参照してください。
      戻り値:
      新しいKeyManagerFactoryオブジェクト
      例外:
      NoSuchAlgorithmException - Providerが、指定されたアルゴリズムのKeyManagerFactorySpi実装をサポートしていない場合
      NullPointerException - algorithmnullである場合
      関連項目:
      Provider
    • getInstance

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

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

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

      パラメータ:
      algorithm - 要求されたアルゴリズムの標準名。 標準のアルゴリズム名の詳細は、Java Security Standard Algorithm Names Specificationの「KeyManagerFactoryセクション」を参照してください。
      provider - プロバイダ名。
      戻り値:
      新しいKeyManagerFactoryオブジェクト
      例外:
      IllegalArgumentException - プロバイダ名がnullまたは空の場合
      NoSuchAlgorithmException - 指定されたアルゴリズムのKeyManagerFactorySpi実装が、指定されたプロバイダから利用可能でない場合
      NoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
      NullPointerException - algorithmnullである場合
      関連項目:
      Provider
    • getInstance

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

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

      パラメータ:
      algorithm - 要求されたアルゴリズムの標準名。 標準のアルゴリズム名の詳細は、Java Security Standard Algorithm Names Specificationの「KeyManagerFactoryセクション」を参照してください。
      provider - プロバイダのインスタンス。
      戻り値:
      新しいKeyManagerFactoryオブジェクト
      例外:
      IllegalArgumentException - providerがnullの場合
      NoSuchAlgorithmException - 指定されたProviderオブジェクトから指定されたアルゴリズムの@KeyManagerFactorySpi実装を使用できない場合
      NullPointerException - algorithmnullである場合
      関連項目:
      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が初期化されていない場合