|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.security.KeyPairGeneratorSpi
java.security.KeyPairGenerator
public abstract class KeyPairGenerator
KeyPairGenerator クラスは、公開鍵と非公開鍵のペアを生成するために使用します。鍵ペアジェネレータは、getInstance ファクトリメソッド (指定されたクラスのインスタンスを返す static メソッド) を使用して構築されます。
特定のアルゴリズムに対応する鍵ペアジェネレータは、このアルゴリズムで使用される公開鍵および非公開鍵のペアを作成します。また、アルゴリズム特定型のパラメータを生成された各鍵に関連付けます。
鍵のペアの生成方法には、アルゴリズム独立型とアルゴリズム特定型の 2 つがあります。この 2 つの唯一の相違点は、オブジェクトの初期化にあります。
すべての鍵ジェネレータは、キーサイズおよび乱数の発生源の概念を共有します。キーサイズの解釈はアルゴリズムによって異なります (DSA アルゴリズムの場合、サイズはビットで表したモジュラスの長さに対応するなど)。この KeyPairGenerator クラスには、initialize というメソッドがあり、全体に共通する型の 2 つの引数をとります。また、引数に keysize だけをとり、乱数発生の元として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用する initialize メソッドもあります。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。
上のアルゴリズム独立型 initialize メソッドを呼び出すときは、その他のパラメータは指定しないため、各鍵に関連付けられるアルゴリズム特定型のパラメータがある場合は、そのパラメータの処理は、プロバイダによって異なります。
アルゴリズムが DSA で、キーサイズ (モジュラスサイズ) が 512、768、または 1024 の場合、Sun プロバイダはパラメータ p、q、および g に計算済みの値のセットを使います。モジュラスサイズが上記のどれでもない場合、Sun プロバイダはパラメータのセットを新しく作成します。これらの 3 つのモジュラスサイズ以外の、事前に計算されたパラメータセットを持つプロバイダが存在する可能性もあります。また、事前に計算されたパラメータがなく、常に新しいパラメータセットを作成するプロバイダが存在する可能性もあります。
アルゴリズムに特定のパラメータ (DSA のコミュニティーパラメータなど) がすでに存在している場合は、引数に AlgorithmParameterSpec をとる 2 種類の initialize メソッドが利用できます。このうち一方は引数に SecureRandom をとりますが、もう一方は、乱数発生の元として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用します。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。
クライアントが 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 |
| コンストラクタの詳細 |
|---|
protected KeyPairGenerator(String algorithm)
algorithm - アルゴリズムの標準名を表す文字列アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照| メソッドの詳細 |
|---|
public String getAlgorithm()
public static KeyPairGenerator getInstance(String algorithm)
throws NoSuchAlgorithmException
このメソッドは、最優先の Provider から順に、登録済みのセキュリティー Provider のリストをトラバースします。指定されたアルゴリズムをサポートする最初の Provider の KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。
algorithm - アルゴリズムの標準名を表す文字列アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照
NoSuchAlgorithmException - 指定されたアルゴリズムの KeyPairGeneratorSpi 実装をサポートする Provider が存在しない場合Provider
public static KeyPairGenerator getInstance(String algorithm,
String provider)
throws NoSuchAlgorithmException,
NoSuchProviderException
指定されたプロバイダの KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。
algorithm - アルゴリズムの標準名を表す文字列アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照provider - プロバイダ名の文字列
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの KeyPairGeneratorSpi 実装がない場合
NoSuchProviderException - 指定されたプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - プロバイダの名前が null か空の場合Provider
public static KeyPairGenerator getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmException
指定された Provider オブジェクトの KeyPairGeneratorSpi 実装をカプセル化する新しい KeyPairGenerator オブジェクトが返されます。指定された Provider オブジェクトは、プロバイダリストに登録する必要はありません。
algorithm - アルゴリズムの標準名を表す文字列アルゴリズムの標準名については、「Java 暗号化アーキテクチャー API 仕様 & リファレンス」の付録 A を参照provider - プロバイダ
NoSuchAlgorithmException - 指定された Provider オブジェクトに指定されたアルゴリズムの KeyPairGeneratorSpi 実装がない場合
IllegalArgumentException - 指定されたプロバイダが null の場合Providerpublic final Provider getProvider()
public void initialize(int keysize)
SecureRandom の実装を使用します。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。
keysize - キーサイズモジュラスの長さのような、ビット長で指定されたアルゴリズムに特定のメトリック
InvalidParameterException - この KeyPairGenerator オブジェクトが keysize メソッドをサポートしていない場合
public void initialize(int keysize,
SecureRandom random)
KeyPairGeneratorSpi 内の initializekeysize - キーサイズモジュラスの長さのような、ビット長で指定されたアルゴリズムに特定のメトリックrandom - 乱数発生の元
InvalidParameterException - この KeyPairGenerator オブジェクトが keysize メソッドをサポートしていない場合
public void initialize(AlgorithmParameterSpec params)
throws InvalidAlgorithmParameterException
SecureRandom の実装を使用して、鍵ペアジェネレータを初期化します。SecureRandom を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。
この具象メソッドは、事前に定義されたこの abstract クラスに追加されたものです。このメソッドは、KeyPairGeneratorSpi クラスの initialize メソッドを呼び出します。 メソッドの呼び出しの際には、引数として params と乱数発生の元 (インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダ提供する乱数発生の元。 プロバイダが乱数発生の元を提供しない場合は、システムが提供する乱数発生の元) を渡します。この initialize メソッドは、プロバイダによってオーバーライドされない場合は、必ず UnsupportedOperationException をスローします。
params - 鍵を生成するためのパラメータセット
InvalidAlgorithmParameterException - 指定されたパラメータがこの鍵ペアジェネレータに不適切な場合
public void initialize(AlgorithmParameterSpec params,
SecureRandom random)
throws InvalidAlgorithmParameterException
この具象メソッドは、事前に定義されたこの abstract クラスに追加されたものです。このメソッドは、params と random を渡して、KeyPairGeneratorSpi クラスの initialize メソッドを呼び出します。この initialize メソッドは、プロバイダによってオーバーライドされない場合は、必ず UnsupportedOperationException をスローします。
KeyPairGeneratorSpi 内の initializeparams - 鍵を生成するためのパラメータセットrandom - 乱数発生の元
InvalidAlgorithmParameterException - 指定されたパラメータがこの鍵ペアジェネレータに不適切な場合public final KeyPair genKeyPair()
KeyPairGenerator が明示的に初期化されていない場合は、プロバイダ指定されたデフォルトを生成された鍵のサイズおよびアルゴリズムに特定の値に使用します。
KeyPairGenerator は呼び出されるたびに、新しい鍵ペアを生成します。
このメソッドは、機能的には generateKeyPair と同じです。
public KeyPair generateKeyPair()
KeyPairGenerator が明示的に初期化されていない場合は、プロバイダ指定されたデフォルトを生成された鍵のサイズおよびアルゴリズムに特定の値に使用します。
KeyPairGenerator は呼び出されるたびに、新しい鍵ペアを生成します。
このメソッドは、機能的には genKeyPair と同じです。
KeyPairGeneratorSpi 内の generateKeyPair
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。