クラスAlgorithmParameters

java.lang.Object
java.security.AlgorithmParameters

public class AlgorithmParameters extends Object
暗号化パラメータの不透明な表示として使用します。

特定のアルゴリズムのパラメータを管理するためのAlgorithmParametersオブジェクトを取得するには、getInstanceファクトリ・メソッド(指定されたクラスのインスタンスを返すstaticメソッド)のどれかを呼び出します。

AlgorithmParametersオブジェクトを取得したら、適切なパラメータ仕様またはパラメータの符号化により、initを呼び出すことで初期化する必要があります。

透明なパラメータ仕様をAlgorithmParametersオブジェクトから取得するには、getParameterSpecを呼び出します。パラメータのバイト符号化を行うには、getEncodedを呼び出します。

次の標準のAlgorithmParametersアルゴリズムをサポートするには、Javaプラットフォームのすべての実装が必要です。 「EC」アルゴリズムの場合、実装はカッコ内のカーブをサポートする必要があります。 「RSASSA-PSS」アルゴリズムの場合、実装ではカッコ内のパラメータをサポートする必要があります。

  • AES
  • ChaCha20-Poly1305
  • DiffieHellman
  • DSA
  • EC (secp256r1, secp384r1)
  • PBEWithHmacSHA256AndAES_128
  • PBEWithHmacSHA256AndAES_256
  • RSASSA-PSS (MGF1マスク生成関数およびSHA-256またはSHA-384ハッシュ・アルゴリズム)
これらのアルゴリズムについては、Javaセキュリティ標準アルゴリズム名仕様の「AlgorithmParametersセクション」を参照してください。 サポートされているその他のアルゴリズムについては、実装のリリース・ドキュメントを参照してください。

導入されたバージョン:
1.2
外部仕様
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
    AlgorithmParametersオブジェクトを作成します。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    final String
    このパラメータ・オブジェクトに関連したアルゴリズムの名前を返します。
    final byte[]
    一次符号化形式でパラメータを返します。
    final byte[]
    指定された方式で符号化されたパラメータを返します。
    getInstance(String algorithm)
    指定されたアルゴリズムのパラメータ・オブジェクトを返します。
    getInstance(String algorithm, String provider)
    指定されたアルゴリズムのパラメータ・オブジェクトを返します。
    getInstance(String algorithm, Provider provider)
    指定されたアルゴリズムのパラメータ・オブジェクトを返します。
    final <T extends AlgorithmParameterSpec>
    T
    getParameterSpec(Class<T> paramSpec)
    パラメータ・オブジェクトの透明な仕様を返します。
    final Provider
    パラメータ・オブジェクトのプロバイダを返します。
    final void
    init(byte[] params)
    指定されたパラメータをインポートし、パラメータの一次復号化形式に従って復号化します。
    final void
    init(byte[] params, String format)
    paramsからパラメータをインポートし、指定された復号化方式に従って復号化します。
    final void
    paramSpecに指定されたパラメータで、このパラメータ・オブジェクトを初期化します。
    final String
    パラメータを説明する書式付き文字列を返します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • AlgorithmParameters

      protected AlgorithmParameters(AlgorithmParametersSpi paramSpi, Provider provider, String algorithm)
      AlgorithmParametersオブジェクトを作成します。
      パラメータ:
      paramSpi - 委譲先
      provider - プロバイダ
      algorithm - アルゴリズム
  • メソッドの詳細

    • getAlgorithm

      public final String getAlgorithm()
      このパラメータ・オブジェクトに関連したアルゴリズムの名前を返します。
      戻り値:
      アルゴリズム名
    • getInstance

      public static AlgorithmParameters getInstance(String algorithm) throws NoSuchAlgorithmException
      指定されたアルゴリズムのパラメータ・オブジェクトを返します。

      このメソッドは、最も優先されるプロバイダから始まる登録済セキュリティ・プロバイダのリストを横断します。 指定されたアルゴリズムをサポートする最初のプロバイダからAlgorithmParametersSpi実装をカプセル化する新しいAlgorithmParametersオブジェクトが返されます。

      登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。

      返されたパラメータ・オブジェクトは、適切なパラメータ仕様またはパラメータの符号化により、initを呼び出すことで初期化する必要があります。

      実装上のノート:
      JDKリファレンス実装では、さらにjdk.security.provider.preferred Securityプロパティを使用して、指定したアルゴリズムの優先プロバイダ順序を決定します。 これは、Security.getProviders()によって返されるプロバイダの順序とは異なる場合があります。
      パラメータ:
      algorithm - 要求するアルゴリズムの名前。 標準アルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のAlgorithmParametersの項を参照してください。
      戻り値:
      新しいパラメータ・オブジェクト
      スロー:
      NoSuchAlgorithmException - Providerが、指定されたアルゴリズムのAlgorithmParametersSpi実装をサポートしていない場合
      NullPointerException - algorithmnullである場合
      外部仕様
      関連項目:
    • getInstance

      public static AlgorithmParameters getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
      指定されたアルゴリズムのパラメータ・オブジェクトを返します。

      指定したプロバイダからAlgorithmParametersSpi実装をカプセル化する新しいAlgorithmParametersオブジェクトが返されます。 指定したプロバイダは、セキュリティ・プロバイダ・リストに登録する必要があります。

      登録済みプロバイダのリストは、Security.getProviders()メソッド経由で取得できます。

      返されたパラメータ・オブジェクトは、適切なパラメータ仕様またはパラメータの符号化により、initを呼び出すことで初期化する必要があります。

      パラメータ:
      algorithm - 要求するアルゴリズムの名前。 標準アルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のAlgorithmParametersの項を参照してください。
      provider - プロバイダ名。
      戻り値:
      新しいパラメータ・オブジェクト
      スロー:
      IllegalArgumentException - プロバイダ名がnullまたは空の場合
      NoSuchAlgorithmException - 指定されたアルゴリズムのAlgorithmParametersSpi実装が、指定されたプロバイダから利用可能でない場合
      NoSuchProviderException - 指定されたプロバイダがセキュリティ・プロバイダ・リストに登録されていない場合
      NullPointerException - algorithmnullである場合
      外部仕様
      関連項目:
    • getInstance

      public static AlgorithmParameters getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
      指定されたアルゴリズムのパラメータ・オブジェクトを返します。

      指定したプロバイダからAlgorithmParametersSpi実装をカプセル化する新しいAlgorithmParametersオブジェクトが返されます。 指定されたプロバイダをプロバイダ・リストに登録する必要はありません。

      返されたパラメータ・オブジェクトは、適切なパラメータ仕様またはパラメータの符号化により、initを呼び出すことで初期化する必要があります。

      パラメータ:
      algorithm - 要求するアルゴリズムの名前。 標準アルゴリズム名の詳細は、「Javaセキュリティ標準アルゴリズム名仕様」のAlgorithmParametersの項を参照してください。
      provider - プロバイダ名。
      戻り値:
      新しいパラメータ・オブジェクト
      スロー:
      IllegalArgumentException - プロバイダがnullの場合
      NoSuchAlgorithmException - 指定されたアルゴリズムのAlgorithmParameterGeneratorSpi実装が、指定されたProviderオブジェクトから使用できない場合
      NullPointerException - algorithmnullである場合
      導入されたバージョン:
      1.4
      外部仕様
      関連項目:
    • getProvider

      public final Provider getProvider()
      パラメータ・オブジェクトのプロバイダを返します。
      戻り値:
      このパラメータ・オブジェクトのプロバイダ。
    • init

      public final void init(AlgorithmParameterSpec paramSpec) throws InvalidParameterSpecException
      paramSpecに指定されたパラメータで、このパラメータ・オブジェクトを初期化します。
      パラメータ:
      paramSpec - パラメータ仕様。
      スロー:
      InvalidParameterSpecException - 指定されたパラメータ仕様がこのパラメータ・オブジェクトの初期化に不適切な場合、またはこのパラメータ・オブジェクトがすでに初期化されている場合。
    • init

      public final void init(byte[] params) throws IOException
      指定されたパラメータをインポートし、パラメータの一次復号化形式に従って復号化します。 これらのパラメータのASN.1仕様がある場合には、パラメータの一次復号化形式はASN.1です。
      パラメータ:
      params - 符号化されたパラメータ。
      スロー:
      IOException - 復号化エラーが発生した場合、またはこのパラメータ・オブジェクトがすでに初期化されている場合。
    • init

      public final void init(byte[] params, String format) throws IOException
      paramsからパラメータをインポートし、指定された復号化方式に従って復号化します。 formatnullの場合、パラメータのプライマリ・デコード形式が使用されます。 これらのパラメータのASN.1仕様がある場合には、一次復号化形式はASN.1です。
      パラメータ:
      params - 符号化されたパラメータ。
      format - 復号化方式の名前。
      スロー:
      IOException - 復号化エラーが発生した場合、またはこのパラメータ・オブジェクトがすでに初期化されている場合。
    • getParameterSpec

      public final <T extends AlgorithmParameterSpec> T getParameterSpec(Class<T> paramSpec) throws InvalidParameterSpecException
      パラメータ・オブジェクトの透明な仕様を返します。paramSpecは、パラメータが返されるべき仕様クラスを識別します。 たとえば、DSAParameterSpec.classの場合には、パラメータがDSAParameterSpecクラスのインスタンスに返されることを示します。
      型パラメータ:
      T - 返されるパラメータ指定のタイプ
      パラメータ:
      paramSpec - パラメータが返される仕様クラス。
      戻り値:
      パラメータ仕様。
      スロー:
      InvalidParameterSpecException - 要求されたパラメータ仕様がこのパラメータ・オブジェクトに不適切な場合、またはこのパラメータ・オブジェクトが初期化されていない場合。
    • getEncoded

      public final byte[] getEncoded() throws IOException
      一次符号化形式でパラメータを返します。 この種のパラメータのASN.1仕様が存在する場合は、プライマリ復号化形式は、ASN.1です。
      戻り値:
      パラメータの一次符号化方式で符号化されたパラメータ。
      スロー:
      IOException - 符号化エラーが発生した場合、またはこのパラメータ・オブジェクトが初期化されていない場合。
    • getEncoded

      public final byte[] getEncoded(String format) throws IOException
      指定された方式で符号化されたパラメータを返します。 formatnullの場合、パラメータのプライマリ・エンコーディング形式が使用されます。 これらのパラメータのASN.1仕様がある場合には、一次符号化形式はASN.1です。
      パラメータ:
      format - 符号化形式の名前。
      戻り値:
      指定された符号化方式で符号化されたパラメータ。
      スロー:
      IOException - 符号化エラーが発生した場合、またはこのパラメータ・オブジェクトが初期化されていない場合。
    • toString

      public final String toString()
      パラメータを説明する書式付き文字列を返します。
      オーバーライド:
      toString、クラスObject
      戻り値:
      パラメータを記述する書式設定された文字列。このパラメータ・オブジェクトが初期化されていない場合はnull