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

インタフェースDSAKeyPairGenerator


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

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

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

    1. 引数としてDSAを指定してKeyPairGeneratorのgetInstanceメソッドを呼び出してDSAに対する鍵ペア・ジェネレータを取得する。
    2. 返されたキー・ペア・ジェネレータがDSAKeyPairGeneratorのインスタンスであるかどうかをチェックしてから、その結果をDSAKeyPairGeneratorにキャストし、このDSAKeyPairGeneratorインタフェースからinitializeメソッドの1つを呼び出します。
    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で、要求されたモジュラスの長さに対して計算済みのパラメータが存在しない場合。