Spec-Zone.ru › OpenJDK 24

Интерфейс HKDFParameterSpec

Все суперинтерфейсы:
AlgorithmParameterSpec
Все известные реализующие классы:
HKDFParameterSpec.ExpandPREVIEW, HKDFParameterSpec.ExtractPREVIEW, HKDFParameterSpec.ExtractThenExpandPREVIEW
public interface HKDFParameterSpec extends AlgorithmParameterSpec
HKDFParameterSpec — это предварительный API платформы Java.
Программы могут использовать HKDFParameterSpec только при включенных предварительных функциях.
Предварительные функции могут быть удалены в будущей версии или переведены в постоянные функции платформы Java.
Параметры для комбинированных операций «Извлечение», «Расширение» или «Извлечение-затем-расширение» функции вывода ключей на основе HMAC (HKDF). Функция HKDF определена в RFC 5869.

В случаях «Извлечение» и «Извлечение-затем-расширение» пользователи могут вызывать методы 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);
С момента:
24
Внешние спецификации
  • RFC 5869: Функция вывода ключа на основе HMAC «Извлечение-и-расширение» (HKDF)
См. также:
  • KDFПРЕДПРОСМОТР

Краткое описание вложенных классов

Модификатор и тип Интерфейс Описание
static final class  HKDFParameterSpec.BuilderPREVIEW
Предварительный просмотр.
Этот Builder создает объекты Extract и ExtractThenExpand.
static final class  HKDFParameterSpec.ExpandPREVIEW
Предварительный просмотр.
Определяет входные параметры операции расширения, как определено в RFC 5869.
static final class  HKDFParameterSpec.ExtractPREVIEW
Предварительный просмотр.
Определяет входные параметры операции извлечения, как определено в RFC 5869.
static final class  HKDFParameterSpec.ExtractThenExpandPREVIEW
Предварительный просмотр.
Определяет входные параметры операции «Извлечение-затем-расширение», как определено в RFC 5869.

Краткое описание методов

Модификатор и тип Метод Описание
static HKDFParameterSpec.ExpandPREVIEW expandOnly(SecretKey prk, byte[] info, int length)
Создает объект Expand.
static HKDFParameterSpec.BuilderPREVIEW ofExtract()
Возвращает Builder для создания объектов Extract и ExtractThenExpand.

Подробное описание методов

ofExtract

static HKDFParameterSpec.BuilderPREVIEW ofExtract()
Возвращает Builder для создания объектов Extract и ExtractThenExpand.
Возвращает:
новый Builder

expandOnly

static HKDFParameterSpec.ExpandPREVIEW expandOnly(SecretKey prk, byte[] info, int length)
Создает объект Expand.
Примечание об реализации:
Реализации HKDF будут проверять, что длина не превышает 255 * длину HMAC. Реализации также будут проверять, что аргумент prk содержит не менее байтов, чем длина HMAC. Реализации также будут проверять, что значение {code null} info обрабатывается как массив байтов нулевой длины.
Параметры:
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://download.java.net/java/early_access/jdk24/docs/api/java.base/javax/crypto/spec/HKDFParameterSpec.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API