Класс KDFSpi
public abstract class KDFSpi extends Object
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
- См. также:
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract byte[] |
engineDeriveData |
Получает ключ, возвращает необработанные данные в виде массива байтов. |
protected abstract SecretKey |
engineDeriveKey |
Получает ключ и возвращает его в виде объекта SecretKey. |
protected abstract KDFParameters |
engineGetParameters() |
Возвращает KDFParameters, использованные с этим объектом KDF. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Показывает, равен ли этот объект другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно вследствие вызова notify или interrupt, либо до истечения заданного промежутка времени. |
Подробное описание конструкторов
KDFSpi
protected KDFSpi(KDFParameters kdfParameters) throws InvalidAlgorithmParameterException
Для алгоритмов KDF, поддерживающих параметры инициализации, можно указать объект KDFParameters.
- Параметры:
-
kdfParameters— параметры инициализации для алгоритмаKDF(могут бытьnull) - Исключения:
-
InvalidAlgorithmParameterException— если параметры инициализации не подходят для этого объектаKDFSpi - См. также:
Подробное описание методов
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 - Внешние спецификации
engineDeriveData
protected abstract byte[] engineDeriveData(AlgorithmParameterSpec derivationSpec) throws InvalidAlgorithmParameterException
- Параметры:
-
derivationSpec— параметры получения ключа - Возвращает:
- полученный ключ в виде необработанных байтов.
- Исключения:
-
InvalidAlgorithmParameterException— если информация, содержащаяся вderivationSpec, недопустима -
UnsupportedOperationException— если полученный ключевой материал нельзя извлечь -
NullPointerException— еслиderivationSpecравен null
© 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.