Spec-Zone.ru › OpenJDK 25

Класс KDFSpi

java.lang.Object
javax.crypto.KDFSpi
public abstract class KDFSpi extends Object
Этот класс определяет интерфейс поставщика услуг (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().

С версии:
25
См. также:
  • KDF
  • KDFParameters
  • KDF.getParameters()
  • SecretKey

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

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

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

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

Методы, объявленные в классе Object

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

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

KDFSpi

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

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

Параметры:
kdfParameters — параметры инициализации алгоритма KDF (может быть null)
Исключения:
InvalidAlgorithmParameterException — если параметры инициализации не подходят для этого KDFSpi
См. также:
  • KDF.getParameters()

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

engineGetParameters

protected abstract KDFParameters 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. Сведения о стандартных названиях алгоритмов секретных ключей см. в разделе SecretKey Algorithms спецификации Java Security Standard Algorithm Names.
derivationSpec — параметры выработки
Возвращает:
выработанный ключ.
Исключения:
InvalidAlgorithmParameterException — если сведения, содержащиеся в derivationSpec, недействительны или сочетание alg и derivationSpec приводит к недопустимому результату
NoSuchAlgorithmException — если alg пуст или недействителен
NullPointerException — если alg или derivationSpec равен null
Внешние спецификации
  • Стандартные названия алгоритмов Java Security

engineDeriveData

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

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

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

Spec-Zone.ru

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