JavaTM 2 Platform
Standard Ed. 5.0

javax.crypto
クラス KeyGenerator

java.lang.Object
  上位を拡張 javax.crypto.KeyGenerator

public class KeyGenerator
extends Object

このクラスは、(対称) 鍵ジェネレータの機能を提供します。

鍵ジェネレータは、このクラスの getInstance クラスメソッドの 1 つを使用して構築されます。

KeyGenerator オブジェクトは再使用できます。つまり、鍵の生成後、同じ KeyGenerator オブジェクトを再使用してさらに鍵を生成することができます。

鍵を生成するには 2 通りの方法、すなわち、アルゴリズムに依存しない方法とアルゴリズムに特定の方法があります。この 2 つの方法は、オブジェクトの初期化だけが違います。

クライアントが init メソッドの呼び出しで明示的に KeyGenerator を初期化しない場合は、各プロバイダはデフォルトの初期化を提供し、これをドキュメント化しなければなりません。

導入されたバージョン:
1.4
関連項目:
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
 

コンストラクタの詳細

KeyGenerator

protected KeyGenerator(KeyGeneratorSpi keyGenSpi,
                       Provider provider,
                       String algorithm)
KeyGenerator オブジェクトを作成します。

パラメータ:
keyGenSpi - 委譲先
provider - プロバイダ
algorithm - アルゴリズム
メソッドの詳細

getAlgorithm

public final String getAlgorithm()
この KeyGenerator オブジェクトのアルゴリズム名を返します。

これは、この KeyGenerator オブジェクトを作成した getInstance 呼び出しの 1 つで指定された名前と同じです。

戻り値:
この KeyGenerator オブジェクトのアルゴリズム名

getInstance

public static final KeyGenerator getInstance(String algorithm)
                                      throws NoSuchAlgorithmException
指定されたアルゴリズムの KeyGenerator オブジェクトを生成します。デフォルトのプロバイダのパッケージが、要求された鍵ジェネレータの実装を提供している場合は、その実装を持った KeyGenerator クラスのインスタンスが返されます。要求された鍵ジェネレータがデフォルトのパッケージで得られない場合は、ほかのプロバイダパッケージが検索されます。

パラメータ:
algorithm - 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照
戻り値:
新しい KeyGenerator オブジェクト
例外:
NullPointerException - 指定されたアルゴリズムが null の場合
NoSuchAlgorithmException - 指定されたアルゴリズムの鍵ジェネレータが、デフォルトのプロバイダパッケージにも、検索したほかのプロバイダパッケージにもない場合

getInstance

public static final KeyGenerator getInstance(String algorithm,
                                             String provider)
                                      throws NoSuchAlgorithmException,
                                             NoSuchProviderException
指定されたプロバイダから、指定された鍵アルゴリズムの KeyGenerator オブジェクトを作成します。

パラメータ:
algorithm - 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照
provider - プロバイダ名
戻り値:
新しい KeyGenerator オブジェクト
例外:
NullPointerException - 指定されたアルゴリズムが null の場合
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの鍵ジェネレータがない場合
NoSuchProviderException - 指定されたプロバイダが設定されていない場合
IllegalArgumentException - provider が null の場合

getInstance

public static final KeyGenerator getInstance(String algorithm,
                                             Provider provider)
                                      throws NoSuchAlgorithmException
指定されたプロバイダから、指定された鍵アルゴリズムの KeyGenerator オブジェクトを生成します。provider は登録されている必要はないことに注意してください。

パラメータ:
algorithm - 要求された鍵アルゴリズムの標準的な名前。アルゴリズムの標準名については、「Java 暗号化拡張機能リファレンスガイド」の付録 A を参照
provider - プロバイダ
戻り値:
新しい KeyGenerator オブジェクト
例外:
NullPointerException - 指定されたアルゴリズムが null の場合
NoSuchAlgorithmException - 指定されたプロバイダに指定されたアルゴリズムの鍵ジェネレータがない場合
IllegalArgumentException - provider が null の場合

getProvider

public final Provider getProvider()
この KeyGenerator オブジェクトのプロバイダを返します。

戻り値:
この KeyGenerator オブジェクトのプロバイダ

init

public final void init(SecureRandom random)
この鍵ジェネレータを初期化します。

パラメータ:
random - このジェネレータの乱数の発生源

init

public final void init(AlgorithmParameterSpec params)
                throws InvalidAlgorithmParameterException
この鍵ジェネレータを、指定されたパラメータセットを使って初期化します。

この鍵ジェネレータが乱数バイトを必要とする場合は、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダの SecureRandom の実装を乱数の発生源として使用して乱数バイトを取得します。SecureRandom の実装を提供するプロバイダがインストールされていない場合は、システムが提供する乱数の発生源が使用されます。

パラメータ:
params - 鍵ジェネレータのパラメータ
例外:
InvalidAlgorithmParameterException - 指定されたパラメータがこの鍵ジェネレータに不適切な場合

init

public final void init(AlgorithmParameterSpec params,
                       SecureRandom random)
                throws InvalidAlgorithmParameterException
指定されたパラメータセットとユーザが提供する乱数の発生源を使って、この鍵ジェネレータを初期化します。

パラメータ:
params - 鍵ジェネレータのパラメータ
random - この鍵ジェネレータの乱数の発生源
例外:
InvalidAlgorithmParameterException - params がこの鍵ジェネレータに不適切な場合

init

public final void init(int keysize)
この鍵ジェネレータを特定の鍵サイズに応じて初期化します。

この鍵ジェネレータが乱数バイトを必要とする場合は、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダの SecureRandom の実装を乱数の発生源として使用して乱数バイトを取得します。SecureRandom の実装を提供するプロバイダがインストールされていない場合は、システムが提供する乱数の発生源が使用されます。

パラメータ:
keysize - 鍵サイズ。ビット長で指定されたアルゴリズムに特定のメトリックス
例外:
InvalidParameterException - 鍵サイズが間違っているか、サポートされていない場合

init

public final void init(int keysize,
                       SecureRandom random)
ユーザが提供する乱数の発生源を使って、この鍵ジェネレータを特定の鍵サイズに応じて初期化します。

パラメータ:
keysize - 鍵サイズ。ビット長で指定されたアルゴリズムに特定のメトリックス
random - この鍵ジェネレータの乱数の発生源
例外:
InvalidParameterException - 鍵サイズが間違っているか、サポートされていない場合

generateKey

public final SecretKey generateKey()
秘密鍵を生成します。

戻り値:
新しい鍵

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 も参照してください。