モジュール java.base
パッケージ java.security

クラスAlgorithmParameters

java.lang.Object
java.security.AlgorithmParameters

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

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

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

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

Javaプラットフォームの実装は、すべて次の標準のAlgorithmParametersアルゴリズムをサポートする必要があります。

  • AES
  • DESede
  • DiffieHellman
  • DSA
これらのアルゴリズムは、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
    パラメータを説明する書式付き文字列を返します。

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • コンストラクタの詳細

    • 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
      指定されたアルゴリズムのパラメータ・オブジェクトを返します。

      このメソッドは、最優先のProviderから順に、登録済みのセキュリティProviderのリストをトラバースします。 指定されたアルゴリズムをサポートする最初のProviderの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
      指定されたアルゴリズムのパラメータ・オブジェクトを返します。

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

      返されたパラメータ・オブジェクトは、適切なパラメータ仕様またはパラメータの符号化により、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からパラメータをインポートし、指定された復号化方式に従って復号化します。 formatがnullの場合には、パラメータの一次復号化形式が使用されます。 これらのパラメータの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
      指定された方式で符号化されたパラメータを返します。 formatがnullの場合には、パラメータの一次符号化形式が使用されます。 これらのパラメータのASN.1仕様がある場合には、一次符号化形式はASN.1です。
      パラメータ:
      format - 符号化形式の名前。
      戻り値:
      指定された符号化方式で符号化されたパラメータ。
      例外:
      IOException - 符号化エラーが発生した場合、またはこのパラメータ・オブジェクトが初期化されていない場合。
    • toString

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