Spec-Zone.ru › OpenJDK 27

Класс ExemptionMechanismSpi

java.lang.Object
javax.crypto.ExemptionMechanismSpi
public abstract class ExemptionMechanismSpi extends Object
Этот класс определяет интерфейс поставщика службы (SPI) для класса ExemptionMechanism. Все абстрактные методы этого класса должны быть реализованы каждым поставщиком криптографических служб, который желает предоставить реализацию определённого механизма освобождения.
Начиная с:
1.4

Краткое описание конструкторов

Конструктор Описание
ExemptionMechanismSpi()
Конструктор, вызываемый подклассами.

Краткое описание методов

Модификатор и тип Метод Описание
protected abstract byte[] engineGenExemptionBlob()
Создаёт блок ключа механизма освобождения.
protected abstract int engineGenExemptionBlob(byte[] output, int outputOffset)
Создаёт блок ключа механизма освобождения и сохраняет результат в буфере output, начиная с позиции outputOffset включительно.
protected abstract int engineGetOutputSize(int inputLen)
Возвращает длину в байтах, необходимую выходному буферу для хранения результата следующей операции engineGenExemptionBlob при заданной длине входных данных inputLen (в байтах).
protected abstract void engineInit(Key key)
Инициализирует этот механизм освобождения с помощью ключа.
protected abstract void engineInit(Key key, AlgorithmParameters params)
Инициализирует этот механизм освобождения с помощью ключа и набора параметров алгоритма.
protected abstract void engineInit(Key key, AlgorithmParameterSpec params)
Инициализирует этот механизм освобождения с помощью ключа и набора параметров алгоритма.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, является ли другой объект «равным» этому объекту.
protected void finalize()
Устарело, будет удалено: этот элемент API может быть удалён в будущей версии.
Финализация объявлена устаревшей и может быть удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
int hashCode()
Возвращает хеш-код этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания.
final void wait(long timeoutMillis)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Приостанавливает текущий поток до его пробуждения, обычно в результате уведомления или прерывания, либо до истечения заданного промежутка реального времени.

Подробное описание конструкторов

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 — если при создании возникли проблемы.

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API