モジュール java.base
パッケージ javax.net.ssl

クラスKeyManagerFactory


  • public class KeyManagerFactory
    extends Object
    このクラスは、キー・データのソースに基づいて、キー・マネージャのファクトリとして機能します。 各キー・マネージャは、セキュア・ソケットが使用するキー・データを管理します。 キー・データは、キーストア、またはプロバイダ固有のソース、あるいはその両方に基づきます。
    導入されたバージョン:
    1.4
    関連項目:
    KeyManager
    • コンストラクタの詳細

      • 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 - algorithmnullである場合
        関連項目:
        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 - algorithmnullである場合
        関連項目:
        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 - 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が初期化されていない場合