全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス
java.lang.Object | +----java.security.KeyPairGenerator
getInstance ファクトリメソッド (指定されたクラスのインスタンスを返す静的なメソッド) を使用して構築されます。
鍵生成は、アルゴリズムの独立性には不向きである分野です。たとえば、鍵系列パラメータ (p、q、および g ) で指定された DSA 鍵ペアを生成することが可能である一方で、RSA 鍵ペアに対してはそうすることができません。すなわち、鍵系列パラメータは DSA には適用可能ですが、RSA には適用可能ではありません。
したがって、鍵ペアを生成するには 2 通りの方法、すなわち、アルゴリズム独立とアルゴリズム特定の方法があることになります。この 2 つの方法は、オブジェクトの初期化だけが違います。
すべての鍵ジェネレータには、「強さ」と乱数のソースという概念が共通します。強さの程度は、すべてアルゴリズムに普遍的に共通しますが、その解釈はアルゴリズム間で異なります。この KeyPairGenerator クラス中の initialize メソッドは、2 つの一般的に共通する引数の型を取ります。
このアルゴリズム独立の initialize メソッドを呼び出す場合には、ほかのパラメータを指定しないため、アルゴリズム パラメータ、パブリック指数などのすべての値は、標準値にデフォルト設定されます。
アルゴリズム特定のセマンティックスを使用して鍵ペアジェネレータオブジェクトを初期化する方が望ましい場合があります。たとえば、指定されたパラメータセット p、q および g に対して DSA 鍵ジェネレータを初期化したい場合、あるいは指定されたパブリック指数に対して RSA 鍵ジェネレータを初期化したい場合もあります。
これは、アルゴリズム特定の標準インタフェースを介して行えます。アルゴリズム独立の KeyPairGenerator の initialize を呼び出す代わりに、鍵ペアジェネレータはアルゴリズム特定インタフェースにキャストされるので、その専用のパラメータ初期化メソッドを呼び出すことができます。例として、(java.security.interfaces の) DSAKeyPairGenerator インタフェース があります。
詳細と例については、"Java Cryptography Architecture API Specification & Reference" の中の The KeyPairGenerator Class を参照してください。
 
 KeyPairGenerator(String)
	KeyPairGenerator(String)
   
 generateKeyPair()
	generateKeyPair()
   getAlgorithm()
	getAlgorithm()
   getInstance(String)
	getInstance(String)
   getInstance(String, String)
	getInstance(String, String)
   initialize(int)
	initialize(int)
   initialize(int, SecureRandom)
	initialize(int, SecureRandom)
   
 KeyPairGenerator
KeyPairGenerator
protected KeyPairGenerator(String algorithm)
 
 getAlgorithm
getAlgorithm
public String getAlgorithm()
 getInstance
getInstance
public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
 getInstance
getInstance
  public static KeyPairGenerator getInstance(String algorithm,
                                             String provider) throws NoSuchAlgorithmException, NoSuchProviderException
 initialize
initialize
  public abstract void initialize(int strength,
                                  SecureRandom random)
 initialize
initialize
public void initialize(int strength)
 generateKeyPair
generateKeyPair
public abstract KeyPair generateKeyPair()
全パッケージ クラス階層 このパッケージ 前項目 次項目 インデックス