インタフェースHKDFParameterSpec
- すべてのスーパー・インタフェース:
AlgorithmParameterSpec
- 既知のすべての実装クラス:
HKDFParameterSpec.ExpandPREVIEW
,HKDFParameterSpec.ExtractPREVIEW
,HKDFParameterSpec.ExtractThenExpandPREVIEW
public interface HKDFParameterSpec extends AlgorithmParameterSpec
HKDFParameterSpec
は、JavaプラットフォームのプレビューAPIです。
プレビュー機能は、今後のリリースで削除するか、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
- 外部仕様
- 関連項目:
-
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インタフェース説明static final class
Preview.このBuilder
は、Extract
およびExtractThenExpand
オブジェクトをビルドします。static final class
Preview.RFC 5869で定義されている拡張操作の入力パラメータを定義します。static final class
Preview.RFC 5869で定義されているExtract操作の入力パラメータを定義します。static final class
Preview.RFC 5869で定義されているExtract-then-Expand操作の入力パラメータを定義します。 -
メソッドのサマリー
静的メソッド修飾子と型メソッド説明expandOnly
(SecretKey prk, byte[] info, int length) Expand
オブジェクトを作成します。Extract
およびExtractThenExpand
オブジェクトをビルドするためのBuilder
を返します。
-
メソッドの詳細
-
ofExtract
static HKDFParameterSpec.BuilderPREVIEW 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より大きくない場合
-
HKDFParameterSpec
を使用できます。