Класс ExemptionMechanismSpi
- java.lang.Object
-
- javax.crypto.ExemptionMechanismSpi
public abstract class ExemptionMechanismSpi extends Object
Этот класс определяет интерфейс поставщика сервисов (SPI) для класса ExemptionMechanism. Все абстрактные методы в этом классе должны быть реализованы каждым криптографическим поставщиком сервисов, желающим предоставить реализацию конкретного механизма исключений.
- Since:
- 1.4
Конструкторы
| Конструктор и описание |
|---|
ExemptionMechanismSpi() |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
protected abstract byte[] |
engineGenExemptionBlob() Генерирует BLOB ключа механизма исключений. |
protected abstract int |
engineGenExemptionBlob(byte[] output,
int outputOffset) Генерирует BLOB ключа механизма исключений и сохраняет результат в буфере |
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 может быть меньше, чем длина, возвращённая этим методом.
- Параметры:
-
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 Генерирует BLOB ключа механизма исключений.
- Возвращает:
- новый буфер с результирующим BLOB ключа.
- Исключения:
-
ExemptionMechanismException- если возникли проблемы при генерации.
engineGenExemptionBlob
protected abstract int engineGenExemptionBlob(byte[] output,
int outputOffset)
throws ShortBufferException,
ExemptionMechanismException Генерирует BLOB ключа механизма исключений и сохраняет результат в буфере output, начиная с индекса outputOffset.
Если буфер output слишком мал для хранения результата, выбрасывается ShortBufferException. В этом случае повторите вызов с более большим буфером. Используйте engineGetOutputSize для определения необходимого размера выходного буфера.
- Параметры:
-
output- буфер для результата -
outputOffset- смещение в буфереoutput, где хранится результат - Возвращает:
- количество байтов, сохранённых в буфере
output - Исключения:
-
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.