Spec-Zone.ru › OpenJDK 27

Класс 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
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли этот объект другому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация считается устаревшей и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого объекта Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка времени.

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

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

engineDeriveData

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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