|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object | +--javax.crypto.KeyGenerator
このクラスは、(対称) 鍵ジェネレータの機能を提供します。
鍵ジェネレータは、このクラスの getInstance
クラスメソッドの 1 つを使用して構築されます。
KeyGenerator オブジェクトは再使用できます。つまり、鍵の生成後、同じ KeyGenerator オブジェクトを再使用してさらに鍵を生成することができます。
鍵を生成するには 2 通りの方法、すなわち、アルゴリズムに依存しない方法とアルゴリズムに特定の方法があります。この 2 つの方法は、オブジェクトの初期化だけが違います。
すべての鍵ジェネレータは、「鍵サイズ」と「乱数の発生源」という概念を共有します。この KeyGenerator クラスには init
メソッドがあり、全体に共通する型の 2 つの引数をとります。また、引数に keysize
だけをとり、乱数の発生源として、もっとも高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用する init メソッド (SecureRandom の実装を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数の発生源を使用)、および乱数の発生源だけをとる init メソッドもあります。
上記のアルゴリズムに依存しない init
メソッドを呼び出した場合、パラメータが指定されないため、それぞれの鍵に関連したアルゴリズムに特定なパラメータが存在する場合、これをどのように扱うかはプロバイダに任されます。
アルゴリズムに特定のパラメータがすでに存在している場合は、引数に AlgorithmParameterSpec
をとる 2 種類の init
メソッドが利用できます。このうち一方は引数に SecureRandom
をとりますが、もう一方は、乱数の発生源として、最も高い優先順位でインストールされているプロバイダの SecureRandom の実装を使用します (SecureRandom の実装を提供するプロバイダが 1 つもインストールされていない場合は、システムが提供する乱数の発生源を使用)。
クライアントが init
メソッドの呼び出しで明示的に KeyGenerator を初期化しない場合は、各プロバイダはデフォルトの初期化を提供し、これをドキュメント化しなければなりません。
SecretKey
コンストラクタの概要 | |
protected |
KeyGenerator(KeyGeneratorSpi keyGenSpi,
Provider provider,
String algorithm)
KeyGenerator オブジェクトを作成します。 |
メソッドの概要 | |
SecretKey |
generateKey()
秘密鍵を生成します。 |
String |
getAlgorithm()
この KeyGenerator オブジェクトのアルゴリズム名を返します。
|
static KeyGenerator |
getInstance(String algorithm)
指定されたアルゴリズムの KeyGenerator |
static KeyGenerator |
getInstance(String algorithm,
Provider provider)
指定されたプロバイダから、指定された鍵アルゴリズムの KeyGenerator オブジェクトを生成します。 |
static KeyGenerator |
getInstance(String algorithm,
String provider)
指定されたプロバイダから、指定された鍵アルゴリズムの KeyGenerator オブジェクトを作成します。 |
Provider |
getProvider()
この KeyGenerator オブジェクトのプロバイダを返します。 |
void |
init(AlgorithmParameterSpec params)
この鍵ジェネレータを、指定されたパラメータセットを使って初期化します。 |
void |
init(AlgorithmParameterSpec params,
SecureRandom random)
指定されたパラメータセットとユーザが提供する乱数の発生源を使って、この鍵ジェネレータを初期化します。 |
void |
init(int keysize)
この鍵ジェネレータを特定の鍵サイズに応じて初期化します。 |
void |
init(int keysize,
SecureRandom random)
ユーザが提供する乱数の発生源を使って、この鍵ジェネレータを特定の鍵サイズに応じて初期化します。 |
void |
init(SecureRandom random)
この鍵ジェネレータを初期化します。 |
クラス java.lang.Object から継承したメソッド |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
protected KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)
keyGenSpi
- 委譲先provider
- プロバイダalgorithm
- アルゴリズムメソッドの詳細 |
public final String getAlgorithm()
KeyGenerator
オブジェクトのアルゴリズム名を返します。
これは、この KeyGenerator
オブジェクトを作成した getInstance
呼び出しの 1 つで指定された名前と同じです。
KeyGenerator
オブジェクトのアルゴリズム名public static final KeyGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
KeyGenerator オブジェクトを生成します。デフォルトのプロバイダのパッケージが、要求された鍵ジェネレータの実装を提供している場合は、その実装を持った KeyGenerator
クラスのインスタンスが返されます。要求された鍵ジェネレータがデフォルトのパッケージで得られない場合は、ほかのプロバイダパッケージが検索されます。
- パラメータ:
algorithm
- 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ API の仕様およびリファレンス」の付録 A を参照
- 戻り値:
- 新しい
KeyGenerator
オブジェクト
- 例外:
NoSuchAlgorithmException
- 指定されたアルゴリズムの鍵ジェネレータが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合
public static final KeyGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
KeyGenerator
オブジェクトを作成します。
algorithm
- 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ
API の仕様およびリファレンス」の付録 A を参照provider
- プロバイダ名
KeyGenerator
オブジェクト
NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムの鍵ジェネレータがない場合
NoSuchProviderException
- 指定されたプロバイダが設定されていない場合
IllegalArgumentException
- provider
が null の場合public static final KeyGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
KeyGenerator
オブジェクトを生成します。provider
は登録されている必要はないことに注意してください。
algorithm
- 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化アーキテクチャ
API の仕様およびリファレンス」の付録 A を参照provider
- プロバイダ
KeyGenerator
オブジェクト
NoSuchAlgorithmException
- 指定されたプロバイダに指定されたアルゴリズムの鍵ジェネレータがない場合
IllegalArgumentException
- provider
が null の場合public final Provider getProvider()
KeyGenerator
オブジェクトのプロバイダを返します。
KeyGenerator
オブジェクトのプロバイダpublic final void init(SecureRandom random)
random
- このジェネレータの乱数の発生源public final void init(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
この鍵ジェネレータが乱数バイトを必要とする場合は、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダの
の実装を乱数の発生源として使用して乱数バイトを取得します。SecureRandom の実装を提供するプロバイダがインストールされていない場合は、システムが提供する乱数の発生源が使用されます。
SecureRandom
params
- 鍵ジェネレータのパラメータ
InvalidAlgorithmParameterException
- 指定されたパラメータがこの鍵ジェネレータに不適切な場合public final void init(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
params
- 鍵ジェネレータのパラメータrandom
- この鍵ジェネレータの乱数の発生源
InvalidAlgorithmParameterException
- params
がこの鍵ジェネレータに不適切な場合public final void init(int keysize)
この鍵ジェネレータが乱数バイトを必要とする場合は、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダの
の実装を乱数の発生源として使用して乱数バイトを取得します。SecureRandom の実装を提供するプロバイダがインストールされていない場合は、システムが提供する乱数の発生源が使用されます。
SecureRandom
keysize
- 鍵サイズ。ビット長で指定されたアルゴリズムに特定のメトリックス
InvalidParameterException
- 鍵サイズが間違っているか、サポートされていない場合public final void init(int keysize, SecureRandom random)
keysize
- 鍵サイズ。ビット長で指定されたアルゴリズムに特定のメトリックスrandom
- この鍵ジェネレータの乱数の発生源
InvalidParameterException
- 鍵サイズが間違っているか、サポートされていない場合public final SecretKey generateKey()
|
JavaTM 2 Platform Std. Ed. v1.4.0 |
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | ||||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.