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

クラスAlgorithmParameters


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

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

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

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

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

    • AES
    • DES
    • DESede
    • DiffieHellman
    • DSA
    これらのアルゴリズムは、Javaセキュリティ標準アルゴリズム名仕様の「AlgorithmParametersセクション」に記述されています。 サポートされているその他のアルゴリズムについては、実装のリリース・ドキュメントを参照してください。

    導入されたバージョン:
    1.2
    関連項目:
    AlgorithmParameterSpec, DSAParameterSpec, KeyPairGenerator
    • メソッドのサマリー

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

      • 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である場合
        関連項目:
        Provider
      • 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である場合
        関連項目:
        Provider
      • 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
        関連項目:
        Provider
      • 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。