JavaTM 2 Platform
Standard Ed. 5.0

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, Provider provider)
          指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダが提供したアルゴリズムを実装する 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 - プロバイダがその環境で使用できない場合
IllegalArgumentException - プロバイダの名前が null か空の場合
関連項目:
Provider

getInstance

public static KeyPairGenerator getInstance(String algorithm,
                                           Provider provider)
                                    throws NoSuchAlgorithmException
指定されたプロバイダから指定されたアルゴリズムが使用可能な場合に、そのプロバイダが提供したアルゴリズムを実装する KeyPairGenerator オブジェクトを作成します。注: provider を登録する必要はありません。

パラメータ:
algorithm - アルゴリズムの標準名の文字列。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ API の仕様およびリファレンス」の付録 A を参照
provider - プロバイダ
戻り値:
新しい KeyPairGenerator オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダにアルゴリズムがない場合
IllegalArgumentException - provider が null の場合
導入されたバージョン:
1.4
関連項目:
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
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。