Spec-Zone.ru › OpenJDK 24

Класс KDFSpi

java.lang.Object
javax.crypto.KDFSpi
public abstract class KDFSpi extends Object
KDFSpi — это предварительный API платформы Java.
Программы могут использовать KDFSpi только при включенных предварительных функциях.
Предварительные функции могут быть удалены в будущих релизах или обновлены до постоянных функций платформы Java.
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса функции вывода ключа (KDFПРЕДПРОСМОТР).

Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических сервисов, желающим предоставить реализацию алгоритма конкретной функции вывода ключа.

Реализации должны предоставлять публичный конструктор, который принимает объект KDFParameters, если они зависят от стандартной реализации Provider.Service.newInstance для построения экземпляров KDFSpi. Конструктор должен вызвать super(params), передавая предоставленные параметры. Конструктор также должен выбросить исключение InvalidAlgorithmParameterException, если предоставленные параметры некорректны. Если объект KDF инициализируется одним из методов getInstance, содержащих параметр KDFParameters, предоставленный пользователем объект KDFParameters будет передан в конструктор реализации KDFSpi. В противном случае, если он инициализируется одним из методов getInstance без параметра KDFParameters, значение null будет передано в конструктор.

Реализации, которые не поддерживают KDFParameters, должны потребовать передачу null, иначе будет выброшено исключение InvalidAlgorithmParameterException. С другой стороны, реализации, которые требуют KDFParameters, должны выбросить исключение InvalidAlgorithmParameterException при получении значения null, если стандартные параметры не могут быть сгенерированы, или при получении KDFParameters, которые не поддерживаются реализацией.

Для удобства вызывающей стороны, реализации могут возвращать параметры с дополнительными стандартными значениями или предоставлять случайные значения, используемые базовым алгоритмом KDF. Подробнее см. engineGetParameters().

Since:
24
См. также:
  • KDFПРЕДПРОСМОТР
  • KDFParametersПРЕДПРОСМОТР
  • KDF.getParameters()ПРЕДПРОСМОТР
  • SecretKey

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

KDFSpi(KDFParametersPREVIEW kdfParameters)
Модификатор Конструктор Описание
protected
Единственный конструктор.

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

Модификатор и тип Метод Описание
protected abstract byte[] engineDeriveData(AlgorithmParameterSpec derivationSpec)
Выводит ключ, возвращает сырые данные в виде массива байтов.
protected abstract SecretKey engineDeriveKey(String alg, AlgorithmParameterSpec derivationSpec)
Выводит ключ, возвращает его как объект SecretKey.
protected abstract KDFParametersPREVIEW engineGetParameters()
Возвращает KDFParameters, используемый с этим объектом KDF.

Методы, унаследованные от класса java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

KDFSpi

protected KDFSpi(KDFParametersPREVIEW kdfParameters) throws InvalidAlgorithmParameterException
Единственный конструктор.

Для алгоритмов KDF, которые поддерживают параметры инициализации, можно указать объект KDFParameters.

Параметры:
kdfParameters - параметры инициализации для алгоритма KDF (могут быть null)
Исключение:
InvalidAlgorithmParameterException - если параметры инициализации некорректны для данного KDFSpi
См. также:
  • KDF.getParameters()ПРЕДПРОСМОТР

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

engineGetParameters

protected abstract KDFParametersPREVIEW engineGetParameters()
Возвращает KDFParameters, используемый с этим объектом KDF.

Возвращаемые параметры могут быть такими же, что и использовались для инициализации этого объекта KDF, или могут содержать дополнительные стандартные или случайные значения параметров, используемые базовым алгоритмом KDF. Если требуемые параметры не были предоставлены и могут быть сгенерированы объектом KDF, возвращаются сгенерированные параметры; в противном случае возвращается null.

Возвращает:
используемые с этим объектом KDF параметры или null

engineDeriveKey

protected abstract SecretKey engineDeriveKey(String alg, AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException, NoSuchAlgorithmException
Выводит ключ, возвращает его как объект SecretKey.
Примечание реализации:
Если полученный ключ извлекаемый, то его значение getEncoded должно иметь то же содержимое, что и результат deriveData.
Параметры:
alg - алгоритм результирующего объекта SecretKey
derivationSpec - параметры вывода
Возвращает:
выведенный ключ.
Исключение:
InvalidAlgorithmParameterException - если информация, содержащаяся в derivationSpec, некорректна или если сочетание alg и derivationSpec приводит к некорректным результатам
NoSuchAlgorithmException - если alg пустое или некорректное
NullPointerException - если alg или derivationSpec null

engineDeriveData

protected abstract byte[] engineDeriveData(AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException
Выводит ключ, возвращает сырые данные в виде массива байтов.
Параметры:
derivationSpec - параметры вывода
Возвращает:
выведенный ключ в сыром формате байтов.
Исключение:
InvalidAlgorithmParameterException - если информация, содержащаяся в derivationSpec, некорректна
UnsupportedOperationException - если выведенный материал ключа не извлекаемый
NullPointerException - если derivationSpec null

Отправить сообщение об ошибке или предложить улучшение
Для получения дополнительной информации по API и документации для разработчиков, обратитесь к документации Java SE, которая содержит более подробные описания, ориентированные на разработчиков, с концептуальными обзорами, определениями терминов, решениями проблем и примерами кода. Другие версии.
Java — товарный знак или зарегистрированный товарный знак Oracle и/или её дочерних компаний в США и других странах.
Copyright © 1993, 2025, Oracle и/или её дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование подлежит условиям лицензии и политике распространения документации.
DRAFT 24-ea+36-Debian-1

© 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/KDFSpi.html

Spec-Zone.ru

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