Класс 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 может быть меньше, чем длина, возвращенная этим методом.
- Parameters:
-
inputLen- длина входных данных (в байтах) - Returns:
- необходимый размер буфера вывода (в байтах)
engineInit
protected abstract void engineInit(Key key) throws InvalidKeyException, ExemptionMechanismException
Если этому механизму исключений требуются параметры алгоритма, которые нельзя получить из заданного key, то реализация механизма исключений должна сгенерировать необходимые параметры сама (используя значения по умолчанию, специфичные для поставщика); в случае, когда параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidKeyException.
- Parameters:
-
key- ключ для этого механизма исключений - Throws:
-
InvalidKeyException- если заданный ключ не подходит для этого механизма исключений. -
ExemptionMechanismException- если при инициализации возникли проблемы.
engineInit
protected abstract void engineInit(Key key, AlgorithmParameterSpec params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
Если этому механизму исключений требуются параметры алгоритма, и params равно null, то реализация механизма исключений должна сгенерировать необходимые параметры сама (используя значения по умолчанию, специфичные для поставщика); в случае, когда параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidAlgorithmParameterException.
- Parameters:
-
key- ключ для этого механизма исключений -
params- параметры алгоритма - Throws:
-
InvalidKeyException- если заданный ключ не подходит для этого механизма исключений. -
InvalidAlgorithmParameterException- если заданные параметры алгоритма не подходят для этого механизма исключений. -
ExemptionMechanismException- если при инициализации возникли проблемы.
engineInit
protected abstract void engineInit(Key key, AlgorithmParameters params) throws InvalidKeyException, InvalidAlgorithmParameterException, ExemptionMechanismException
Если этому механизму исключений требуются параметры алгоритма, и params равно null, то реализация механизма исключений должна сгенерировать необходимые параметры сама (используя значения по умолчанию, специфичные для поставщика); в случае, когда параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidAlgorithmParameterException.
- Parameters:
-
key- ключ для этого механизма исключений -
params- параметры алгоритма - Throws:
-
InvalidKeyException- если заданный ключ не подходит для этого механизма исключений. -
InvalidAlgorithmParameterException- если заданные параметры алгоритма не подходят для этого механизма исключений. -
ExemptionMechanismException- если при инициализации возникли проблемы.
engineGenExemptionBlob
protected abstract byte[] engineGenExemptionBlob() throws ExemptionMechanismException
- Returns:
- новый буфер с результатом ключа блока.
- Throws:
-
ExemptionMechanismException- если при генерации возникли проблемы.
engineGenExemptionBlob
protected abstract int engineGenExemptionBlob(byte[] output, int outputOffset) throws ShortBufferException, ExemptionMechanismException
output, начиная с outputOffset включительно. Если буфер output слишком мал для хранения результата, выбрасывается ShortBufferException. В этом случае повторите этот вызов с более крупным буфером вывода. Используйте engineGetOutputSize для определения необходимого размера буфера вывода.
- Parameters:
-
output- буфер для результата -
outputOffset- смещение вoutputдля хранения результата - Returns:
- количество байтов, сохраненных в
output - Throws:
-
ShortBufferException- если заданный буфер вывода слишком мал для хранения результата. -
ExemptionMechanismException- если при генерации возникли проблемы.
© 1993, 2023, 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/21/docs/api/java.base/javax/crypto/ExemptionMechanismSpi.html