Класс ExemptionMechanismSpi
public abstract class ExemptionMechanismSpi extends Object
ExemptionMechanism. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических услуг, желающим предоставить реализацию определенного механизма исключения.- Since:
- 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, 2021, 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/17/docs/api/java.base/javax/crypto/ExemptionMechanismSpi.html