Класс ExemptionMechanismSpi
public abstract class ExemptionMechanismSpi extends Object
ExemptionMechanism. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических услуг, который хочет предоставить реализацию определённого механизма освобождения.- С версии:
- 1.4
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ExemptionMechanismSpi() |
Конструктор, который вызывают подклассы. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract byte[] |
engineGenExemptionBlob() |
Создаёт блок ключа механизма освобождения. |
protected abstract int |
engineGenExemptionBlob |
Создаёт блок ключа механизма освобождения и сохраняет результат в буфере output, начиная с позиции outputOffset включительно. |
protected abstract int |
engineGetOutputSize |
Возвращает длину в байтах, необходимую выходному буферу для хранения результата следующей операции engineGenExemptionBlob при заданной длине входных данных inputLen (в байтах). |
protected abstract void |
engineInit |
Инициализирует этот механизм освобождения с помощью ключа. |
protected abstract void |
engineInit |
Инициализирует этот механизм освобождения с помощью ключа и набора параметров алгоритма. |
protected abstract void |
engineInit |
Инициализирует этот механизм освобождения с помощью ключа и набора параметров алгоритма. |
Подробное описание конструкторов
ExemptionMechanismSpi
public ExemptionMechanismSpi()
Подробное описание методов
engineGetOutputSize
protected abstract int engineGetOutputSize(int inputLen)
engineGenExemptionBlob при заданной длине входных данных inputLen (в байтах). Фактическая длина выходных данных следующего вызова engineGenExemptionBlob может быть меньше длины, возвращаемой этим методом.
- Параметры:
-
inputLen— длина входных данных (в байтах) - Возвращает:
- требуемый размер выходного буфера (в байтах)
engineInit
protected abstract void engineInit(Key key) throws InvalidKeyException, ExemptionMechanismException
Если для этого механизма освобождения требуются параметры алгоритма, которые нельзя получить из заданного key, предполагается, что базовая реализация механизма освобождения сама создаст необходимые параметры (используя значения по умолчанию, определяемые поставщиком); если параметры алгоритма должен указать вызывающий код, возникает исключение InvalidKeyException.
- Параметры:
-
key— ключ для этого механизма освобождения - Вызывает исключение:
-
InvalidKeyException— если заданный ключ не подходит для этого механизма освобождения. -
ExemptionMechanismException— если во время инициализации возникли проблемы.
engineInit
protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
Если для этого механизма освобождения требуются параметры алгоритма, а params равно null, предполагается, что базовая реализация механизма освобождения сама создаст необходимые параметры (используя значения по умолчанию, определяемые поставщиком); если параметры алгоритма должен указать вызывающий код, возникает исключение InvalidAlgorithmParameterException.
- Параметры:
-
key— ключ для этого механизма освобождения -
params— параметры алгоритма - Вызывает исключение:
-
InvalidKeyException— если заданный ключ не подходит для этого механизма освобождения. -
InvalidAlgorithmParameterException— если заданные параметры алгоритма не подходят для этого механизма освобождения. -
ExemptionMechanismException— если во время инициализации возникли проблемы.
engineInit
protected abstract void engineInit(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
Если для этого механизма освобождения требуются параметры алгоритма, а params равно null, предполагается, что базовая реализация механизма освобождения сама создаст необходимые параметры (используя значения по умолчанию, определяемые поставщиком); если параметры алгоритма должен указать вызывающий код, возникает исключение InvalidAlgorithmParameterException.
- Параметры:
-
key— ключ для этого механизма освобождения -
params— параметры алгоритма - Вызывает исключение:
-
InvalidKeyException— если заданный ключ не подходит для этого механизма освобождения. -
InvalidAlgorithmParameterException— если заданные параметры алгоритма не подходят для этого механизма освобождения. -
ExemptionMechanismException— если во время инициализации возникли проблемы.
engineGenExemptionBlob
protected abstract byte[] engineGenExemptionBlob() throws ExemptionMechanismException
- Возвращает:
- новый буфер с результирующим блоком ключа.
- Вызывает исключение:
-
ExemptionMechanismException— если во время создания возникли проблемы.
engineGenExemptionBlob
protected abstract int engineGenExemptionBlob(byte[] output, int outputOffset) throws ShortBufferException, ExemptionMechanismException
output, начиная с позиции outputOffset включительно. Если буфер output слишком мал для хранения результата, выбрасывается исключение ShortBufferException. В этом случае повторите вызов с буфером большего размера. Используйте engineGetOutputSize, чтобы определить необходимый размер выходного буфера.
- Параметры:
-
output— буфер для результата -
outputOffset— смещение вoutput, по которому сохраняется результат - Возвращает:
- количество байтов, сохранённых в
output - Вызывает исключение:
-
ShortBufferException— если заданный выходной буфер слишком мал для хранения результата. -
ExemptionMechanismException— если во время создания возникли проблемы.
© 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/ExemptionMechanismSpi.html