AlgorithmParameterGeneratorクラスは、特定のアルゴリズムで使われるパラメータのセットを生成するために使用されます。 パラメータ・ジェネレータは、getInstanceファクトリ・メソッド(指定したクラスのインスタンスを返すstaticメソッド)を使って構築されます。 
 パラメータを生成するオブジェクトは、2とおりの方法で初期化できます。アルゴリズム独立型とアルゴリズム固有型の方法です。
- アルゴリズム独立型の方法では、すべてのパラメータ・ジェネレータが「サイズ」および乱数発生の元という概念を共有するという特性を利用します。 サイズの単位は、すべてアルゴリズム・パラメータで普遍的に共通していますが、その解釈はアルゴリズムにより異なります。 たとえば、DSAアルゴリズムのパラメータの場合、「サイズ」はビットで表したプライム・モジュラスのサイズに一致します。 この方法を使用すると、アルゴリズム固有型のパラメータ生成値が(ある場合)、それらは指定したサイズから得られた値でない限り、デフォルトで標準値になります。
- もう1つの方法では、アルゴリズム固有型のセマンティックスを使って、パラメータ・ジェネレータ・オブジェクトを初期化します。これらのセマンティックスは、アルゴリズム固有型のパラメータ生成値のセットで表されます。 たとえば、Diffie-Hellmanシステム・パラメータを生成するには、通常、パラメータ生成値は、プライム・モジュラスおよびランダム指数のサイズで構成されます。どちらのサイズもビット数で指定します。
クライアントがinitメソッドの呼出しで、明示的にAlgorithmParameterGeneratorを初期化しない場合には、各プロバイダはデフォルトで初期化を提供しドキュメント化する必要があります。 JDKプロバイダが使用するAlgorithmParameterGeneratorのデフォルトについては、「JDKプロバイダ」ドキュメントの「キー・サイズの制限」セクションを参照してください。 ただし、デフォルトはプロバイダごとに異なる場合があります。 また、プロバイダのデフォルト値は、将来のバージョンで変更される可能性があります。 そのため、プロバイダ固有のデフォルトに頼るのではなく、明示的にAlgorithmParameterGeneratorを初期化することをお勧めします。 
 
 Javaプラットフォームの実装は、すべて次の標準のAlgorithmParameterGeneratorアルゴリズムとカッコ内のキー・サイズをサポートする必要があります。
 
- DiffieHellman(1024, 2048)
- DSA(1024, 2048)
- 導入されたバージョン:
- 1.2
- 関連項目:
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protectedAlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm) AlgorithmParameterGeneratorオブジェクトを作成します。
- 
メソッドのサマリー修飾子と型メソッド説明final AlgorithmParametersパラメータを生成します。final Stringパラメータ・ジェネレータに関連したアルゴリズムの標準名を返します。static AlgorithmParameterGeneratorgetInstance(String algorithm) 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。static AlgorithmParameterGeneratorgetInstance(String algorithm, String provider) 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。static AlgorithmParameterGeneratorgetInstance(String algorithm, Provider provider) 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。final Providerアルゴリズム・パラメータ・ジェネレータ・オブジェクトのプロバイダを返します。final voidinit(int size) 特定のサイズに対して、パラメータ・ジェネレータを初期化します。final voidinit(int size, SecureRandom random) 特定のサイズと乱数発生の元に対して、パラメータ・ジェネレータを初期化します。final voidinit(AlgorithmParameterSpec genParamSpec) アルゴリズム固有型のパラメータ生成値のセットで、パラメータ・ジェネレータを初期化します。final voidinit(AlgorithmParameterSpec genParamSpec, SecureRandom random) アルゴリズム固有型のパラメータ生成値のセットで、パラメータ・ジェネレータを初期化します。
- 
コンストラクタの詳細- 
AlgorithmParameterGeneratorprotected AlgorithmParameterGenerator(AlgorithmParameterGeneratorSpi paramGenSpi, Provider provider, String algorithm) AlgorithmParameterGeneratorオブジェクトを作成します。- パラメータ:
- paramGenSpi- 委譲先
- provider- プロバイダ
- algorithm- アルゴリズム
 
 
- 
- 
メソッドの詳細- 
getAlgorithmpublic final String getAlgorithm()パラメータ・ジェネレータに関連したアルゴリズムの標準名を返します。- 戻り値:
- アルゴリズムの文字列名。
 
- 
getInstancepublic static AlgorithmParameterGenerator getInstance(String algorithm) throws NoSuchAlgorithmException 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のProviderのAlgorithmParameterGeneratorSpi実装をカプセル化する新しいAlgorithmParameterGeneratorオブジェクトが返されます。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- 実装上のノート:
- JDKリファレンス実装では、jdk.security.provider.preferredSecurityプロパティを使用して、指定されたアルゴリズムの優先プロバイダの順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
- パラメータ:
- algorithm- このパラメータ・ジェネレータに関連付けられたアルゴリズムの名前。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のAlgorithmParameterGeneratorセクションを参照してください。
- 戻り値:
- 新しいAlgorithmParameterGeneratorオブジェクト
- 例外:
- NoSuchAlgorithmException-- Providerが、指定されたアルゴリズムの- AlgorithmParameterGeneratorSpi実装をサポートしていない場合
- NullPointerException-- algorithmが- nullである場合
- 関連項目:
 
- 
getInstancepublic static AlgorithmParameterGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。指定されたプロバイダのAlgorithmParameterGeneratorSpi実装をカプセル化する新しいAlgorithmParameterGeneratorオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。 登録済みプロバイダのリストは、 Security.getProviders()メソッド経由で取得できます。- パラメータ:
- algorithm- このパラメータ・ジェネレータに関連付けられたアルゴリズムの名前。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のAlgorithmParameterGeneratorセクションを参照してください。
- provider- Providerの文字列名。
- 戻り値:
- 新しいAlgorithmParameterGeneratorオブジェクト
- 例外:
- IllegalArgumentException- プロバイダ名が- nullまたは空の場合
- NoSuchAlgorithmException- 指定されたアルゴリズムの- AlgorithmParameterGeneratorSpi実装が、指定されたプロバイダから利用可能でない場合
- NoSuchProviderException- 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
- NullPointerException-- algorithmが- nullである場合
- 関連項目:
 
- 
getInstancepublic static AlgorithmParameterGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException 指定されたアルゴリズムで使用されるパラメータのセットを生成する、AlgorithmParameterGeneratorオブジェクトを返します。指定されたProviderオブジェクトのAlgorithmParameterGeneratorSpi実装をカプセル化する新しいAlgorithmParameterGeneratorオブジェクトが返されます。 指定されたProviderオブジェクトは、プロバイダ・リストに登録する必要はありません。 - パラメータ:
- algorithm- このパラメータ・ジェネレータに関連付けられたアルゴリズムの文字列名。 標準アルゴリズム名については、「Javaセキュリティ標準アルゴリズム名指定」のAlgorithmParameterGeneratorセクションを参照してください。
- provider-- Providerオブジェクト
- 戻り値:
- 新しいAlgorithmParameterGeneratorオブジェクト
- 例外:
- IllegalArgumentException- 指定されたプロバイダが- nullの場合
- NoSuchAlgorithmException- 指定されたアルゴリズムの- AlgorithmParameterGeneratorSpi実装が、指定された- Providerオブジェクトから使用できない場合
- NullPointerException-- algorithmが- nullである場合
- 導入されたバージョン:
- 1.4
- 関連項目:
 
- 
getProviderpublic final Provider getProvider()アルゴリズム・パラメータ・ジェネレータ・オブジェクトのプロバイダを返します。- 戻り値:
- このアルゴリズム・パラメータ・ジェネレータ・オブジェクトのプロバイダ
 
- 
initpublic final void init(int size) 特定のサイズに対して、パラメータ・ジェネレータを初期化します。 パラメータを生成する際には、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダのSecureRandomの実装が、乱数発生の元として使用されます。SecureRandomを提供するプロバイダが1つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。- パラメータ:
- size- サイズ(ビット数)。
 
- 
initpublic final void init(int size, SecureRandom random) 特定のサイズと乱数発生の元に対して、パラメータ・ジェネレータを初期化します。- パラメータ:
- size- サイズ(ビット数)。
- random- 乱数発生の元。
 
- 
initpublic final void init(AlgorithmParameterSpec genParamSpec) throws InvalidAlgorithmParameterException アルゴリズム固有型のパラメータ生成値のセットで、パラメータ・ジェネレータを初期化します。 パラメータを生成する際には、インストールされているプロバイダのうち、もっとも優先順位の高いプロバイダのSecureRandomの実装が、乱数発生の元として使用されます。SecureRandomを提供するプロバイダが1つもインストールされていない場合は、システムが提供する乱数発生の元が使用されます。- パラメータ:
- genParamSpec- アルゴリズム固有型のパラメータ生成値のセット。
- 例外:
- InvalidAlgorithmParameterException- 指定されたパラメータ生成値がこのパラメータ・ジェネレータに不適切な場合。
 
- 
initpublic final void init(AlgorithmParameterSpec genParamSpec, SecureRandom random) throws InvalidAlgorithmParameterException アルゴリズム固有型のパラメータ生成値のセットで、パラメータ・ジェネレータを初期化します。- パラメータ:
- genParamSpec- アルゴリズム固有型のパラメータ生成値のセット。
- random- 乱数発生の元。
- 例外:
- InvalidAlgorithmParameterException- 指定されたパラメータ生成値がこのパラメータ・ジェネレータに不適切な場合。
 
- 
generateParameterspublic final AlgorithmParameters generateParameters()パラメータを生成します。- 戻り値:
- 新しいAlgorithmParametersオブジェクト。
 
 
-