Класс ExemptionMechanismSpi
- java.lang.Object
-
- javax.crypto.ExemptionMechanismSpi
public abstract class ExemptionMechanismSpi extends Object
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса ExemptionMechanism. Все абстрактные методы в этом классе должны быть реализованы каждым поставщиком криптографических сервисов, желающим предоставить реализацию конкретного механизма исключения.
- Since:
- 1.4
Конструкторы
| Конструктор | Описание |
|---|---|
ExemptionMechanismSpi() |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected abstract byte[] | engineGenExemptionBlob() | Генерирует блок данных ключа механизма исключения. |
protected abstract int | engineGenExemptionBlob(byte[] output,
int outputOffset) | Генерирует блок данных ключа механизма исключения и сохраняет результат в буфере |
protected abstract int | engineGetOutputSize(int inputLen) | Возвращает длину в байтах, необходимую буферу вывода для хранения результата следующей операции |
protected abstract void | engineInit(Key key) | Инициализирует механизм исключения ключом. |
protected abstract void | engineInit(Key key,
AlgorithmParameters params) | Инициализирует механизм исключения ключом и набором параметров алгоритма. |
protected abstract void | engineInit(Key key,
AlgorithmParameterSpec params) | Инициализирует механизм исключения ключом и набором параметров алгоритма. |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitКонструкторы
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, 2020, 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/11/docs/api/java.base/javax/crypto/ExemptionMechanismSpi.html