JavaTM 2 Platform
Std. Ed. v1.3

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 のプロバイダのデフォルトでは、サイズが 1,024 ビットであるモジュラスサイズ (キーサイズ) を使用します。

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

関連項目:
AlgorithmParameterSpec

コンストラクタの概要
protected KeyPairGenerator(String algorithm)
          指定されたアルゴリズムに対する KeyPairGenerator を作成します。
 
メソッドの概要
 KeyPair generateKeyPair()
          鍵ペアを生成します。
 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.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 - キーサイズ。モジュラスの長さのような、ビット長で指定されたアルゴリズムに特定のメトリックス
例外:
InvalidParameterException - この KeyPairGenerator オブジェクトが keysize メソッドをサポートしていない場合

initialize

public void initialize(int keysize,
                       SecureRandom random)
任意のキーサイズ対する鍵ペアジェネレータを初期化します。指定された乱数の発生源と、デフォルトのパラメータセットを使用します。
オーバーライド:
クラス KeyPairGeneratorSpi 内の initialize
パラメータ:
keysize - キーサイズ。モジュラスの長さのような、ビット長で指定されたアルゴリズムに特定のメトリックス
random - 乱数の発生源
例外:
InvalidParameterException - この KeyPairGenerator オブジェクトが keysize メソッドをサポートしていない場合
導入されたバージョン:
1.2

initialize

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

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

パラメータ:
params - 鍵を生成するためのパラメータセット
例外:
InvalidAlgorithmParameterException - 指定されたパラメータがこの鍵ペアジェネレータに不適切な場合
導入されたバージョン:
1.2

initialize

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

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

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

genKeyPair

public final KeyPair genKeyPair()
鍵ペアを生成します。

KeyPairGenerator が明示的に初期化されていない場合は、プロバイダ指定のデフォルトを生成された鍵のサイズおよびアルゴリズムに特定の値に使用します。

KeyPairGenerator は呼び出されるたびに、新しい鍵ペアを生成します。

このメソッドは、機能的には generateKeyPair と同じです。

戻り値:
生成された鍵ペア
導入されたバージョン:
1.2

generateKeyPair

public KeyPair generateKeyPair()
鍵ペアを生成します。

KeyPairGenerator が明示的に初期化されていない場合は、プロバイダ指定のデフォルトを生成された鍵のサイズおよびアルゴリズムに特定の値に使用します。

KeyPairGenerator は呼び出されるたびに、新しい鍵ペアを生成します。

このメソッドは、機能的には genKeyPair と同じです。

オーバーライド:
クラス KeyPairGeneratorSpi 内の generateKeyPair
戻り値:
生成された鍵ペア

JavaTM 2 Platform
Std. Ed. v1.3

バグや機能要求の報告
さらに詳しい API リファレンスおよび開発者ドキュメントについては、 Java 2 SDK SE Developer Documentation を参照してください。このドキュメントには、概念、用語の定義、回避策、 実用的なコード例など、開発者を対象にした詳細な解説が掲載されています。

Java、Java 2D、JDBC は、米国およびその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2000 Sun Microsystems, Inc. 901 San Antonio Road,
Palo Alto, California, 94303, U.S.A. All Rights Reserved.