モジュール java.base
パッケージ java.security.interfaces

インタフェースDSAKeyPairGenerator


  • public interface DSAKeyPairGenerator
    DSAキーのペアを生成できるオブジェクトに対するインタフェースです。

    initializeメソッドは何回でも呼び出すことができます。 DSAKeyPairGeneratorでinitializeメソッドが呼び出されない場合、このインタフェースを実装する各プロバイダは、デフォルトの初期化を提供(およびドキュメント化)する必要があります。 デフォルト値は、プロバイダによって異なる場合があります。 また、プロバイダのデフォルト値は将来のバージョンで変更される可能性があります。 したがって、プロバイダ固有のデフォルトに依存するのではなく、DSAKeyPairGeneratorを明示的に初期化することをお薦めします。

    DSA固有のパラメータを指定したり、DSAアルゴリズムで使用するのに適切なキーのペアを生成したりする場合には、通常、次のようにします。

    1. 引数としてDSAを指定してKeyPairGeneratorのgetInstanceメソッドを呼び出してDSAに対するキー・ペア・ジェネレータを取得する。
    2. 結果をDSAKeyPairGeneratorにキャストし、このDSAKeyPairGeneratorインタフェースからいずれかのinitializeメソッドをコールする前に、戻されたキー・ペア・ジェネレータがDSAKeyPairGeneratorのインスタンスであるかどうかを確認します。
    3. KeyPairGeneratorクラスのgenerateKeyPairメソッドをコールして、キー・ペアを生成します。

    注意: DSAキー・ペア・ジェネレータに対してアルゴリズム固有の初期化を行う必要が常にあるわけではありません。 すなわち、このインタフェースのinitializeメソッドを毎回呼び出す必要はありません。 KeyPairGeneratorインタフェースのinitializeメソッドを使用した、アルゴリズムに依存しない初期化だけが、アルゴリズム固有のパラメータに対してデフォルト設定を受け入れる場合に行う必要があります。

    ノート: このインタフェースの以前の実装では、3072ビットなどのDSAパラメータの大きい値がサポートされていない場合があります。

    導入されたバージョン:
    1.1
    関連項目:
    KeyPairGenerator
    • メソッドのサマリー

      すべてのメソッド インスタンス・メソッド 抽象メソッド 
      修飾子と型 メソッド 説明
      void initialize​(int modlen, boolean genParams, SecureRandom random)
      指定されたモジュラスの長さ(パラメータではない)のキー・ペア・ジェネレータとオプションのSecureRandomビット・ソースを初期化します。
      void initialize​(DSAParams params, SecureRandom random)
      DSAファミリのパラメータ(p、q、およびg)とオプションのSecureRandomビット・ソースを使用して、キー・ペア・ジェネレータを初期化します。
    • メソッドの詳細

      • initialize

        void initialize​(DSAParams params,
                        SecureRandom random)
                 throws InvalidParameterException
        DSAファミリのパラメータ(p、q、およびg)とオプションのSecureRandomビット・ソースを使用して、キー・ペア・ジェネレータを初期化します。 SecureRandomビット・ソースが必要であるのに指定されていない場合(nullである場合)、デフォルトのSecureRandomインスタンスが使用されます。
        パラメータ:
        params - キーの生成に使用するパラメータ。
        random - キー・ビットの生成に使用するランダム・ビットのソース。nullも可。
        例外:
        InvalidParameterException - paramsの値が無効であるか、nullであるか、またはサポートされていない場合。
      • initialize

        void initialize​(int modlen,
                        boolean genParams,
                        SecureRandom random)
                 throws InvalidParameterException
        指定されたモジュラスの長さ(パラメータではない)のキー・ペア・ジェネレータとオプションのSecureRandomビット・ソースを初期化します。 SecureRandomビット・ソースが必要であるのに指定されていない場合(nullである場合)、デフォルトのSecureRandomインスタンスが使用されます。

        genParamsがtrueの場合、このメソッドは新しいp、q、およびgのパラメータを生成します。 falseの場合、このメソッドは、要求されたモジュラスの長さに対する計算済みのパラメータを使用します。 そのモジュラスの長さに対する計算済みのパラメータが存在しない場合は、例外が発生します。

        パラメータ:
        modlen - モジュラスの長さ(ビット単位)。 有効な値は、512以上1024以下の任意の64の倍数、2048および3072。
        random - キー・ビットの生成に使用するランダム・ビットのソース。nullも可。
        genParams - 要求されたモジュラスの長さに対して新しいパラメータを生成するかどうかの指定。
        例外:
        InvalidParameterException - modlenが無効か未サポートの場合、またはgenParamsがfalseで、要求されたモジュラスの長さに対して計算済みのパラメータが存在しない場合。