インタフェースHKDFParameterSpec

すべてのスーパー・インタフェース:
AlgorithmParameterSpec
既知のすべての実装クラス:
HKDFParameterSpec.ExpandPREVIEW, HKDFParameterSpec.ExtractPREVIEW, HKDFParameterSpec.ExtractThenExpandPREVIEW

public interface HKDFParameterSpec extends AlgorithmParameterSpec
HKDFParameterSpecは、JavaプラットフォームのプレビューAPIです。
プレビュー機能が有効な場合のみ、プログラムでHKDFParameterSpecを使用できます。
プレビュー機能は、今後のリリースで削除するか、Javaプラットフォームの永続機能にアップグレードすることができます。
HMACベースのキー導出関数(HKDF)のExtract、ExpandまたはExtract-then-Expandの組合せ操作のパラメータ。 HKDF関数は、RFC 5869で定義されています。

ExtractおよびExtract-then-Expandの場合、ユーザーは addIKMメソッドまたはaddSaltメソッド(あるいはその両方)を繰り返し(これらの呼び出しを連鎖させる)をコールできます。 これにより、入力キーイング・マテリアル(IKM)の一部が抽出不可能なSecretKeyに存在し、IKM全体を単一のオブジェクトとして提供できないユースケースが提供されます。 塩にも同じ機能があります。

前述の機能は、TLS 1.3およびHPKEで使用される"ラベル付き" HKDF Extractで特に役立ちます。IKMは、バイト配列と(抽出できない可能性があります)秘密キーの両方を含む連結コンポーネントで構成されます。

例:

 // this usage depicts the initialization of an HKDF-Extract AlgorithmParameterSpec
 AlgorithmParameterSpec derivationSpec =
             HKDFParameterSpec.ofExtract()
                              .addIKM(label)
                              .addIKM(ikm)
                              .addSalt(salt).extractOnly();
 // this usage depicts the initialization of an HKDF-Expand AlgorithmParameterSpec
 AlgorithmParameterSpec derivationSpec =
             HKDFParameterSpec.expandOnly(prk, info, 32);
 // this usage depicts the initialization of an HKDF-ExtractExpand AlgorithmParameterSpec
 AlgorithmParameterSpec derivationSpec =
             HKDFParameterSpec.ofExtract()
                              .addIKM(ikm)
                              .addSalt(salt).thenExpand(info, 32);

導入されたバージョン:
24
外部仕様
関連項目:
  • メソッドの詳細

    • ofExtract

      ExtractおよびExtractThenExpandオブジェクトをビルドするためのBuilderを返します。
      戻り値:
      新しいBuilder
    • expandOnly

      static HKDFParameterSpec.ExpandPREVIEW expandOnly(SecretKey prk, byte[] info, int length)
      Expandオブジェクトを作成します。
      実装上のノート:
      HKDFの実装では、長さが255 * HMACの長さを超えないようにします。 また、実装では、prk引数がHMAC長のバイト数以上であることを強制します。 実装では、 {code null} 情報値が長さゼロのバイト配列として扱われることも強制されます。
      パラメータ:
      prk - 疑似ランダム・キー(PRK) ;はnullにできません
      info - オプションのコンテキストおよびアプリケーション固有の情報(null)。バイト配列は、後続の変更を防ぐためにクローニングされます
      length - 出力キーイング材料の長さ (0より大きくする必要があります)
      戻り値:
      Expandオブジェクト
      スロー:
      NullPointerException - prk引数がnullの場合
      IllegalArgumentException - lengthが0より大きくない場合