クラス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
関連項目:
  • コンストラクタのサマリー

    コンストラクタ
    修飾子
    コンストラクタ
    説明
    protected
    KDFSpi(KDFParameters kdfParameters)
    唯一のコンストラクタです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    protected abstract byte[]
    キーを導出して、RAWデータをバイト配列として返します。
    protected abstract SecretKey
    SecretKeyオブジェクトとして返されるキーを導出します。
    protected abstract KDFParameters
    このKDFオブジェクトで使用されるKDFParametersを返します。

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

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, 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であるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • コンストラクタの詳細

    • 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の場合