Java プラットフォーム 1.2

java.security
クラス KeyPairGenerator

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

public abstract class KeyPairGenerator
extends KeyPairGeneratorSpi

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

特定のアルゴリズムに対応する鍵ペアジェネレータは、このアルゴリズムで使用される公開鍵および非公開鍵のペアを作成します。また、アルゴリズム特有のパラメータを、生成された両方の鍵に関連付けます。

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

クライアントが、initialize メソッドを呼び出すことにより KeyPairGenerator を明示的に初期化しない場合は、それぞれのプロバイダはデフォルトの初期化を提供し、これをドキュメント化しなければなりません。たとえば、Sun プロバイダがデフォルトで使用するモジュラスサイズ (鍵のサイズ) は 1024 ビットです。

このクラスは、歴史的な事情から KeyPairGeneratorSpi クラスを継承した abstract クラスになっています。アプリケーションの開発者は、この KeyPairGenerator クラスで定義されたメソッドだけに配慮してください。スーパークラスのすべてのメソッドは、鍵ペアジェネレータの独自の実装を提供する必要がある暗号サービスプロバイダで使用されることを想定しています。

関連項目:
AlgorithmParameterSpec

コンストラクタの概要
protected KeyPairGenerator(String algorithm)
          指定されたアルゴリズムに対する KeyPairGenerator を作成します。
 
メソッドの概要
 KeyPair genKeyPair()
          鍵ペアを生成します。
 String getAlgorithm()
          この鍵ペアジェネレータのアルゴリズムの標準名を返します。
static KeyPairGenerator getInstance(String algorithm)
          指定されたダイジェストアルゴリズムを実装する KeyPairGenerator オブジェクトを作成します。
static KeyPairGenerator getInstance(String algorithm, String provider)
          指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダから提供されるそのアルゴリズムを実装する KeyPairGenerator オブジェクトを作成します。
 Provider getProvider()
          この鍵ペアジェネレータオブジェクトのプロバイダを返します。
 void initialize(AlgorithmParameterSpec params)
          指定されたパラメータのセットと、乱数発生の元として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用して、鍵ペアジェネレータを初期化します。
 void initialize(AlgorithmParameterSpec params, SecureRandom random)
          指定されたパラメータのセットと乱数発生の元を使って鍵ペアジェネレータを初期化します。
 void initialize(int keysize)
          任意の鍵のサイズに対する鍵ペアジェネレータを初期化します。
 void initialize(int keysize, SecureRandom random)
          任意の鍵のサイズ対する鍵ペアジェネレータを初期化します。
 
クラス java.security.KeyPairGeneratorSpi から継承したメソッド
generateKeyPair
 
クラス java.lang.Object から継承したメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

KeyPairGenerator

protected KeyPairGenerator(String algorithm)
指定されたアルゴリズムに対する KeyPairGenerator を作成します。
パラメータ:
algorithm - アルゴリズムの標準名を表す文字列。標準アルゴリズム名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
メソッドの詳細

getAlgorithm

public String getAlgorithm()
この鍵ペアジェネレータのアルゴリズムの標準名を返します。 標準アルゴリズム名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照してください。
戻り値:
アルゴリズムの標準名を表す文字列

getInstance

public static KeyPairGenerator getInstance(String algorithm)
                                    throws NoSuchAlgorithmException
指定されたダイジェストアルゴリズムを実装する KeyPairGenerator オブジェクトを作成します。必要なダイジェストアルゴリズムの実装が、デフォルトのプロバイダパッケージにより提供されている場合は、その実装を持つ KeyPairGenerator クラスのインスタンスを返します。デフォルトのパッケージでは指定されたアルゴリズムが利用できない場合は、ほかのパッケージを検索します。
パラメータ:
algorithm - アルゴリズムの標準名を表す文字列。標準アルゴリズム名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
戻り値:
新しい KeyPairGenerator オブジェクト
例外:
NoSuchAlgorithmException - アルゴリズムが環境で使用可能でない場合

getInstance

public static KeyPairGenerator getInstance(String algorithm,
                                           String provider)
                                    throws NoSuchAlgorithmException,
                                           NoSuchProviderException
指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダから提供されるそのアルゴリズムを実装する KeyPairGenerator オブジェクトを作成します。
パラメータ:
algorithm - アルゴリズムの標準名を表す文字列。標準アルゴリズム名については、「Java 暗号化アーキテクチャ API 仕様 & リファレンス」の付録 A を参照
provider - プロバイダ名の文字列
戻り値:
新しい KeyPairGenerator オブジェクト
例外:
NoSuchAlgorithmException - アルゴリズムがプロバイダで使用可能でない場合
NoSuchProviderException - プロバイダが環境で使用可能でない場合
関連項目:
Provider

getProvider

public final Provider getProvider()
この鍵ペアジェネレータオブジェクトのプロバイダを返します。
戻り値:
この鍵ペアジェネレータオブジェクトのプロバイダ

initialize

public void initialize(int keysize)
任意の鍵のサイズに対する鍵ペアジェネレータを初期化します。デフォルトのパラメータセットと、乱数発生の元として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用します。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。
パラメータ:
keysize - 鍵のサイズ。モジュラスの長さのような、ビット長で指定されたアルゴリズムに固有の尺度

initialize

public void initialize(int keysize,
                       SecureRandom random)
任意の鍵のサイズ対する鍵ペアジェネレータを初期化します。指定された乱数発生の元と、デフォルトのパラメータのセットを使用します。
パラメータ:
keysize - 鍵のサイズ。モジュラスの長さのような、ビット長で指定されたアルゴリズムに固有の尺度
random - 乱数発生の元
オーバーライド:
クラス KeyPairGeneratorSpi 内の initialize
導入されたバージョン:
JDK1.2

initialize

public void initialize(AlgorithmParameterSpec params)
                throws InvalidAlgorithmParameterException
指定されたパラメータのセットと、乱数発生の元として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用して、鍵ペアジェネレータを初期化します。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。

この具象メソッドは直前に定義された abstract クラスに追加されたものです。このメソッドは、KeyPairGeneratorSpi クラスの initialize メソッドを呼び出します。initialize メソッドの呼び出しの際には、引数として params と乱数発生の元 (インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダが提供する乱数発生の元。プロバイダが乱数発生の元を提供しない場合は、システムが提供する乱数発生の元) を渡します。この initialize メソッドは、プロバイダによってオーバーライドされていない限り、必ず UnsupportedOperationException をスローします。

パラメータ:
params - 鍵を生成するために使用されるパラメータのセット
例外:
InvalidAlgorithmParameterException - 渡されたパラメータがこの鍵ペアジェネレータに適切でない場合
導入されたバージョン:
JDK1.2

initialize

public void initialize(AlgorithmParameterSpec params,
                       SecureRandom random)
                throws InvalidAlgorithmParameterException
指定されたパラメータのセットと乱数発生の元を使って鍵ペアジェネレータを初期化します。

この具象メソッドは直前に定義された abstract クラスに追加されたものです。このメソッドは、paramsrandom を渡して、KeyPairGeneratorSpi クラスの initialize メソッドを呼び出します。この initialize メソッドは、プロバイダによってオーバーライドされていない限り、必ず UnsupportedOperationException をスローします。

パラメータ:
params - 鍵を生成するために使用されるパラメータのセット
random - 乱数発生の元
例外:
InvalidAlgorithmParameterException - 渡されたパラメータがこの鍵ペアジェネレータに適切でない場合
オーバーライド:
クラス KeyPairGeneratorSpi 内の initialize
導入されたバージョン:
JDK1.2

genKeyPair

public final KeyPair genKeyPair()
鍵ペアを生成します。KeyPairGenerator を使用して初期化メソッドを呼び出すのでない場合は、アルゴリズムに固有のデフォルト設定が使用されます。このメソッドは、呼び出されるたびに新しい鍵ペアを生成します。
戻り値:
生成された鍵ペア
導入されたバージョン:
JDK1.2

Java プラットフォーム 1.2

バグや機能要求の報告
新しい javadoc の表示についてのコメントやご提案
Java は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-1998 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.