インタフェースHKDFParameterSpec

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

public interface HKDFParameterSpec extends AlgorithmParameterSpec
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);

導入されたバージョン:
25
外部仕様
関連項目:
  • ネストされたクラスのサマリー

    ネストされたクラス
    修飾子と型
    インタフェース
    説明
    static final class 
    このBuilderは、ExtractおよびExtractThenExpandオブジェクトをビルドします。
    static final class 
    RFC 5869で定義されている拡張操作の入力パラメータを定義します。
    static final class 
    RFC 5869で定義されているExtract操作の入力パラメータを定義します。
    static final class 
    RFC 5869で定義されているExtract-then-Expand操作の入力パラメータを定義します。
  • メソッドのサマリー

    静的メソッド
    修飾子と型
    メソッド
    説明
    expandOnly(SecretKey prk, byte[] info, int length)
    Expandオブジェクトを作成します。
    ExtractおよびExtractThenExpandオブジェクトをビルドするためのBuilderを返します。
  • メソッドの詳細

    • ofExtract

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

      static HKDFParameterSpec.Expand 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より大きくない場合