クラスKDFSpi

java.lang.Object
javax.crypto.KDFSpi

public abstract class KDFSpi extends Object
このクラスは、キー導出関数(KDF)クラスのサービス・プロバイダ・インタフェース(SPI)を定義します。

このクラスのすべての抽象メソッドは、特定のキー導出関数アルゴリズムの実装を提供する各暗号化サービス・プロバイダによって実装される必要があります。

実装は、KDFSpiインスタンスを構築するためにProvider.Service.newInstanceのデフォルト実装に依存する場合、 KDFParametersオブジェクトを受け入れるパブリック・コンストラクタを提供する必要があります。 コンストラクタは、指定されたパラメータを渡してsuper(params)をコールする必要があります。 また、指定されたパラメータが適切でない場合、コンストラクタはInvalidAlgorithmParameterExceptionをスローする必要があります。 KDFParametersパラメータを含むgetInstanceメソッドのいずれかを使用してKDFオブジェクトをインスタンス化すると、ユーザー指定のKDFParametersオブジェクトがKDFSpi実装のコンストラクタに渡されます。 それ以外の場合、KDFParametersパラメータを指定せずにgetInstanceメソッドのいずれかを使用してインスタンス化すると、null値がコンストラクタに渡されます。

KDFParametersをサポートしない実装では、nullを渡す必要があります。渡されない場合、InvalidAlgorithmParameterExceptionがスローされます。 一方、KDFParametersを必要とする実装では、デフォルト・パラメータを生成できない場合、または実装でサポートされていない KDFParametersの受信時に、null値の受信時にInvalidAlgorithmParameterExceptionをスローする必要があります。

呼出し側を支援するために、実装はパラメータを追加のデフォルト値で返したり、基礎となるKDFアルゴリズムで使用されるランダムな値を提供したりできます。 詳細は、engineGetParameters()を参照してください。

導入されたバージョン:
25
関連項目:
  • コンストラクタの詳細

    • KDFSpi

      protected KDFSpi(KDFParameters kdfParameters)InvalidAlgorithmParameterExceptionをスローします。
      唯一のコンストラクタです。

      初期化パラメータをサポートするKDFアルゴリズムには、KDFParametersオブジェクトを指定できます。

      パラメータ:
      kdfParameters - KDFアルゴリズム(nullを指定できます)の初期化パラメータ
      スロー:
      InvalidAlgorithmParameterException - このKDFSpiに対して初期化パラメータが不適切である場合
      関連項目:
  • メソッドの詳細

    • engineGetParameters

      protected abstract KDFParameters engineGetParameters()
      このKDFオブジェクトで使用されるKDFParametersを返します。

      返されるパラメータは、このKDFオブジェクトの初期化に使用したものと同じか、基礎となるKDFアルゴリズムで使用される追加のデフォルトまたはランダム・パラメータ値を含む場合があります。 必須パラメータが指定されておらず、KDFオブジェクトで生成できる場合は、生成されたパラメータが返されます。それ以外の場合は、nullが返されます。

      戻り値:
      このKDFオブジェクトまたはnullで使用されるパラメータ
    • engineDeriveKey

      protected abstract SecretKey engineDeriveKey(String alg, AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
      SecretKeyオブジェクトとして返されるキーを導出します。
      実装上のノート:
      結果のキーが抽出可能である場合、そのgetEncoded値はderiveDataの結果と同じ内容である必要があります。
      パラメータ:
      alg - 結果のSecretKeyオブジェクトのアルゴリズム。 標準秘密キー・アルゴリズム名の詳細は、Javaセキュリティ標準アルゴリズム名仕様のSecretKeyアルゴリズムに関する項を参照してください。
      derivationSpec - 導出パラメータ
      戻り値:
      導出キー。
      スロー:
      InvalidAlgorithmParameterException - derivationSpecに含まれる情報が無効な場合、またはalgderivationSpecの組合せが無効な場合
      NoSuchAlgorithmException - algが空または無効の場合
      NullPointerException - algまたはderivationSpecがnullの場合
      外部仕様
    • engineDeriveData

      protected abstract byte[] engineDeriveData(AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException
      キーを導出して、RAWデータをバイト配列として返します。
      パラメータ:
      derivationSpec - 導出パラメータ
      戻り値:
      rawバイト内の派生キー。
      スロー:
      InvalidAlgorithmParameterException - derivationSpecに含まれる情報が無効な場合
      UnsupportedOperationException - 導出されたキーイング材料が抽出可能でない場合
      NullPointerException - derivationSpecがnullの場合