全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.security.KeyPairGenerator

java.lang.Object
   |
   +----java.security.KeyPairGenerator

public abstract class KeyPairGenerator
extends Object
KeyPairGenerator クラスは、公開鍵と秘密鍵のペアを生成するために使用します。キージェネレータは getInstance ファクトリメソッド (指定されたクラスのインスタンスを返す静的なメソッド) を使用して構築されます。

鍵生成は、アルゴリズムの独立性には不向きである分野です。たとえば、鍵系列パラメータ (p、q、および g ) で指定された DSA 鍵ペアを生成することが可能である一方で、RSA 鍵ペアに対してはそうすることができません。すなわち、鍵系列パラメータは DSA には適用可能ですが、RSA には適用可能ではありません。

したがって、鍵ペアを生成するには 2 通りの方法、すなわち、アルゴリズム独立とアルゴリズム特定の方法があることになります。この 2 つの方法は、オブジェクトの初期化だけが違います。

すべての鍵ジェネレータには、「強さ」と乱数のソースという概念が共通します。強さの程度は、すべてアルゴリズムに普遍的に共通しますが、その解釈はアルゴリズム間で異なります。この KeyPairGenerator クラス中の initialize メソッドは、2 つの一般的に共通する引数の型を取ります。

このアルゴリズム独立の initialize メソッドを呼び出す場合には、ほかのパラメータを指定しないため、アルゴリズム パラメータ、パブリック指数などのすべての値は、標準値にデフォルト設定されます。

アルゴリズム特定のセマンティックスを使用して鍵ペアジェネレータオブジェクトを初期化する方が望ましい場合があります。たとえば、指定されたパラメータセット pq および g に対して DSA 鍵ジェネレータを初期化したい場合、あるいは指定されたパブリック指数に対して RSA 鍵ジェネレータを初期化したい場合もあります。

これは、アルゴリズム特定の標準インタフェースを介して行えます。アルゴリズム独立の KeyPairGenerator の initialize を呼び出す代わりに、鍵ペアジェネレータはアルゴリズム特定インタフェースにキャストされるので、その専用のパラメータ初期化メソッドを呼び出すことができます。例として、(java.security.interfaces の) DSAKeyPairGenerator インタフェース があります。

詳細と例については、"Java Cryptography Architecture API Specification & Reference" の中の The KeyPairGenerator Class を参照してください。

参照:
DSAKeyPairGenerator

Constructor Index

 o KeyPairGenerator(String)
指定されたアルゴリズムに対する KeyPairGenerator を作成する。

Method Index

 o generateKeyPair()
鍵ペアを生成する。
 o getAlgorithm()
この鍵ジェネレータのアルゴリズムの標準名を返す。
 o getInstance(String)
環境で使用可能な場合に、要求されたアルゴリズムを実装する KeyPairGenerator を生成する。
 o getInstance(String, String)
指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダから提供されるそのアルゴリズムを実装する KeyPairGenerator オブジェクトを生成する。
 o initialize(int)
システム提供の乱数のソースを使用して、ある強さに対して鍵ペアジェネレータを初期化する。
 o initialize(int, SecureRandom)
ある強さに対して鍵ペアジェネレータを初期化する。

Constructors

 o KeyPairGenerator
  protected KeyPairGenerator(String algorithm)
指定されたアルゴリズムに対する KeyPairGenerator を作成します。

パラメータ:
algorithm - アルゴリズムの標準名の文字列。 標準アルゴリズム名については、 Java Cryptography Architecture API Specification & Reference の中の付録 A を参照する。

Methods

 o getAlgorithm
  public String getAlgorithm()
この鍵ジェネレータのアルゴリズムの標準名を返します。 標準アルゴリズム名については、 Java Cryptography Architecture API Specification & Reference の付録 A を参照してください。

返り値:
アルゴリズムの標準名の文字列
 o getInstance
  public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
環境で使用可能な場合に、要求されたアルゴリズムを実装する KeyPairGenerator を生成します。

パラメータ:
algorithm - アルゴリズムの標準名の文字列。 標準アルゴリズム名については、 Java Cryptography Architecture API Specification & Reference の中の付録 A を参照する。
返り値:
新しい KeyPairGenerator オブジェクト。
例外: NoSuchAlgorithmException
アルゴリズムが環境で使用可能でない場合
 o getInstance
  public static KeyPairGenerator getInstance(String algorithm,
                                             String provider) throws NoSuchAlgorithmException, NoSuchProviderException
指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダから提供されるそのアルゴリズムを実装する KeyPairGenerator オブジェクトを生成します。

パラメータ:
algorithm - アルゴリズムの標準名の文字列
標準アルゴリズム名については、 Java Cryptography Architecture API Specification & Reference の中の付録 A を参照する。
provider - プロバイダ名の文字列
返り値:
新しい KeyPairGenerator オブジェクト。
例外: NoSuchAlgorithmException
アルゴリズムがプロバイダで使用可能でない場合
例外: NoSuchProviderException
プロバイダが環境で使用可能でない場合
参照:
Provider
 o initialize
  public abstract void initialize(int strength,
                                  SecureRandom random)
ある強さに対して鍵ペアジェネレータを初期化します。

パラメータ:
strength - 鍵の強さ。これは係数の長さのようなアルゴリズム特定の量の単位。
random - このジェネレータに対する乱数のソース
 o initialize
  public void initialize(int strength)
システム提供の乱数のソースを使用してある強さに対して鍵ペアジェネレータを初期化します。

パラメータ:
strength - 鍵の強さ。これは係数の長さのようなアルゴリズム特定の量の単位。
 o generateKeyPair
  public abstract KeyPair generateKeyPair()
鍵ペアを生成します。 KeyPairGenerator を使用して初期化メソッドを呼び出さない場合には、アルゴリズム特定のデフォルト設定が使用されます。これは、呼び出されるたびに新しい鍵ペアを生成します。


全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス