Класс 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. |
Подробное описание конструкторов
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 Security Standard Algorithm Names. -
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/javax/crypto/KDFSpi.html