|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.crypto.KeyGenerator
public class 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 オブジェクトを返します。
このメソッドは、最優先のプロバイダから順に、登録済みのセキュリティープロバイダのリストをトラバースします。指定されたアルゴリズムをサポートする最初のプロバイダの KeyGeneratorSpi 実装をカプセル化する新しい KeyGenerator オブジェクトが返されます。
登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。
algorithm - 要求された鍵アルゴリズムの標準名
標準のアルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照
KeyGenerator オブジェクト
NullPointerException - 指定されたアルゴリズムが null である場合
NoSuchAlgorithmException - 指定したアルゴリズムの KeyGeneratorSpi 実装をサポートするプロバイダが存在しない場合Provider
public static final KeyGenerator getInstance(String algorithm,
String provider)
throws NoSuchAlgorithmException,
NoSuchProviderException
KeyGenerator オブジェクトを返します。
指定されたプロバイダからの KeyGeneratorSpi の実装をカプセル化する新しい KeyGenerator オブジェクトが返されます。指定したプロバイダは、セキュリティープロバイダリストに登録する必要があります。
登録済みプロバイダのリストは、Security.getProviders() メソッド経由で取得できます。
algorithm - 要求された鍵アルゴリズムの標準名
標準のアルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照provider - プロバイダ名
KeyGenerator オブジェクト
NullPointerException - 指定されたアルゴリズムが null である場合
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの KeyGeneratorSpi 実装がない場合
NoSuchProviderException - 指定したプロバイダがセキュリティープロバイダリストに登録されていない場合
IllegalArgumentException - provider が null または空の場合Provider
public static final KeyGenerator getInstance(String algorithm,
Provider provider)
throws NoSuchAlgorithmException
KeyGenerator オブジェクトを返します。
指定された Provider オブジェクトからの KeyGeneratorSpi の実装をカプセル化する新しい KeyGenerator オブジェクトが返されます。指定した Provider オブジェクトは、プロバイダリストに登録する必要はありません。
algorithm - 要求された鍵アルゴリズムの標準名
標準のアルゴリズム名については、「Java 暗号化アーキテクチャーリファレンスガイド」の付録 A を参照provider - プロバイダ
KeyGenerator オブジェクト
NullPointerException - 指定されたアルゴリズムが null である場合
NoSuchAlgorithmException - 指定された Provider オブジェクトに指定されたアルゴリズムの KeyGeneratorSpi の実装がない場合
IllegalArgumentException - provider が null の場合Providerpublic 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 Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。