Интерфейс HKDFParameterSpec
- Все суперинтерфейсы:
AlgorithmParameterSpec
- Все известные реализующие классы:
HKDFParameterSpec.Expand, HKDFParameterSpec.Extract, HKDFParameterSpec.ExtractThenExpand
public interface HKDFParameterSpec extends AlgorithmParameterSpec
В случаях Extract и Extract-then-Expand пользователи могут многократно вызывать методы
addIKM и/или addSalt (и объединять эти вызовы в цепочки). Это позволяет использовать сценарии, в которых часть исходного материала ключа (IKM) находится в неизвлекаемом SecretKey, а весь IKM нельзя передать как единый объект. Та же возможность доступна для соли.
Эта возможность особенно полезна для «помеченного» извлечения HKDF, используемого в TLS 1.3 и HPKE, где 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 |
HKDFParameterSpec.Builder |
Этот Builder создаёт объекты Extract и ExtractThenExpand. |
static final class |
HKDFParameterSpec.Expand |
Определяет входные параметры операции Expand, как описано в RFC 5869. |
static final class |
HKDFParameterSpec.Extract |
Определяет входные параметры операции Extract, как описано в RFC 5869. |
static final class |
HKDFParameterSpec.ExtractThenExpand |
Определяет входные параметры операции Extract-then-Expand, как описано в RFC 5869. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static HKDFParameterSpec.Expand |
expandOnly |
Создаёт объект Expand. |
static HKDFParameterSpec.Builder |
ofExtract() |
Возвращает Builder для создания объектов Extract и ExtractThenExpand. |
Подробное описание методов
ofExtract
static HKDFParameterSpec.Builder ofExtract()
Builder для создания объектов Extract и ExtractThenExpand.- Возвращает:
- новый
Builder
expandOnly
static HKDFParameterSpec.Expand expandOnly(SecretKey prk, byte[] info, int length)
Expand.- Примечание по реализации:
- Реализации HKDF гарантируют, что длина не превышает 255 * длина HMAC. Реализации также гарантируют, что аргумент prk содержит не меньше байтов, чем длина HMAC. Реализации также гарантируют, что значение info, равное {code null}, обрабатывается как массив байтов нулевой длины.
- Параметры:
-
prk— псевдослучайный ключ (PRK); не должен бытьnull -
info— необязательная информация о контексте и приложении (может бытьnull); массив байтов клонируется, чтобы предотвратить его последующее изменение -
length— длина выходного материала ключа (должна быть больше 0) - Возвращает:
- объект
Expand - Выбрасывает:
-
NullPointerException— если аргументprkравенnull -
IllegalArgumentException— еслиlengthне больше 0
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/crypto/spec/HKDFParameterSpec.html