JavaTM Platform
Standard Ed. 6

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 オブジェクトを返します。

このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定されたアルゴリズムをサポートする最初の Provider の KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
algorithm - アルゴリズムの標準名を表す文字列 アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照
戻り値:
新しい KeyPairGenerator オブジェクト
例外:
NoSuchAlgorithmException - 指定されたアルゴリズムの KeyPairGeneratorSpi 実装をサポートする Provider が存在しない場合
関連項目:
Provider

getInstance

public static KeyPairGenerator getInstance(String algorithm,
                                           String provider)
                                    throws NoSuchAlgorithmException,
                                           NoSuchProviderException
指定のアルゴリズムの公開鍵と非公開鍵のペアを生成する KeyPairGenerator オブジェクトを返します。

指定されたプロバイダの KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。

登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。

パラメータ:
algorithm - アルゴリズムの標準名を表す文字列 アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照
provider - プロバイダ名の文字列
戻り値:
新しい KeyPairGenerator オブジェクト
例外:
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの KeyPairGeneratorSpi 実装がない場合
NoSuchProviderException - 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - プロバイダの名前が null か空の場合
関連項目:
Provider

getInstance

public static KeyPairGenerator getInstance(String algorithm,
                                           Provider provider)
                                    throws NoSuchAlgorithmException
指定のアルゴリズムの公開鍵と非公開鍵のペアを生成する KeyPairGenerator オブジェクトを返します。

指定された Provider オブジェクトの KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。

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

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

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