クラスKDFSpi

java.lang.Object
javax.crypto.KDFSpi

public abstract class KDFSpi extends Object
KDFSpiは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでKDFSpiを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
このクラスは、キー導出関数(KDFPREVIEW)クラスの「サービス・プロバイダ・インタフェース」 (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()を参照してください。

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

  • メソッドの詳細

    • engineGetParameters

      protected abstract KDFParametersPREVIEW 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オブジェクトのアルゴリズム
      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の場合