Spec-Zone.ru › OpenJDK 8

Класс ExemptionMechanism

  • java.lang.Object
    • javax.crypto.ExemptionMechanism

public class ExemptionMechanism
extends Object

Этот класс предоставляет функциональность механизма исключения, примерами которого являются восстановление ключа, ослабление ключа и эскроу ключа.

Приложения или апплеты, использующие механизм исключения, могут получить более сильные возможности шифрования, чем те, которые этого не делают.

Since:
1.4

Конструкторы

Модификатор Конструктор и описание
protected ExemptionMechanism(ExemptionMechanismSpi exmechSpi, Provider provider, String mechanism)

Создаёт объект ExemptionMechanism.

Методы

Модификатор и тип Метод и описание
protected void finalize()

Обеспечивает, чтобы ключ, сохранённый объектом ExemptionMechanism, был удалён, когда на него больше нет ссылок.

byte[] genExemptionBlob()

Генерирует блок ключа механизма исключения.

int genExemptionBlob(byte[] output)

Генерирует блок ключа механизма исключения и сохраняет результат в буфере output.

int genExemptionBlob(byte[] output, int outputOffset)

Генерирует блок ключа механизма исключения и сохраняет результат в буфере output, начиная с индекса outputOffset включительно.

static ExemptionMechanism getInstance(String algorithm)

Возвращает объект ExemptionMechanism, который реализует указанный алгоритм механизма исключения.

static ExemptionMechanism getInstance(String algorithm, Provider provider)

Возвращает объект ExemptionMechanism, который реализует указанный алгоритм механизма исключения.

static ExemptionMechanism getInstance(String algorithm, String provider)

Возвращает объект ExemptionMechanism, который реализует указанный алгоритм механизма исключения.

String getName()

Возвращает имя механизма исключения для этого объекта ExemptionMechanism.

int getOutputSize(int inputLen)

Возвращает длину в байтах, которую должен иметь буфер вывода, чтобы содержать результат следующей операции genExemptionBlob, учитывая длину входных данных inputLen (в байтах).

Provider getProvider()

Возвращает поставщика этого объекта ExemptionMechanism.

void init(Key key)

Инициализирует этот механизм исключения ключом.

void init(Key key, AlgorithmParameters params)

Инициализирует этот механизм исключения ключом и набором параметров алгоритма.

void init(Key key, AlgorithmParameterSpec params)

Инициализирует этот механизм исключения ключом и набором параметров алгоритма.

boolean isCryptoAllowed(Key key)

Возвращает, был ли результат блока успешно сгенерирован этим механизмом исключения.

Методы, унаследованные от класса java.lang.Object

clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Конструкторы

ExemptionMechanism

protected ExemptionMechanism(ExemptionMechanismSpi exmechSpi,
                             Provider provider,
                             String mechanism)

Создаёт объект ExemptionMechanism.

Параметры:
exmechSpi - делегат
provider - поставщик
mechanism - механизм исключения

Методы

getName

public final String getName()

Возвращает имя механизма исключения этого объекта ExemptionMechanism.

Это то же самое имя, которое было указано в одном из вызовов getInstance, которые создали этот объект ExemptionMechanism.

Возвращает:
имя механизма исключения этого объекта ExemptionMechanism.

getInstance

public static final ExemptionMechanism getInstance(String algorithm)
                                            throws NoSuchAlgorithmException

Возвращает объект ExemptionMechanism, реализующий указанный алгоритм механизма исключения.

Этот метод проходит по списку зарегистрированных поставщиков безопасности, начиная с наиболее предпочтительного поставщика. Возвращается новый объект ExemptionMechanism, инкапсулирующий реализацию ExemptionMechanismSpi от первого поставщика, который поддерживает указанный алгоритм.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
algorithm - стандартное имя запрошенного механизма исключения. См. раздел ExemptionMechanism в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах механизмов исключения.
Возвращает:
новый объект ExemptionMechanism.
Исключение:
NullPointerException - если algorithm равно null.
NoSuchAlgorithmException - если ни один поставщик не поддерживает реализацию ExemptionMechanismSpi для указанного алгоритма.
См. также:
Provider

getInstance

public static final ExemptionMechanism getInstance(String algorithm,
                                                   String provider)
                                            throws NoSuchAlgorithmException,
                                                   NoSuchProviderException

Возвращает объект ExemptionMechanism, реализующий указанный алгоритм механизма исключения.

Возвращается новый объект ExemptionMechanism, инкапсулирующий реализацию ExemptionMechanismSpi от указанного поставщика. Указанный поставщик должен быть зарегистрирован в списке поставщиков безопасности.

Обратите внимание, что список зарегистрированных поставщиков можно получить с помощью метода Security.getProviders().

Параметры:
algorithm - стандартное имя запрошенного механизма исключения. См. раздел ExemptionMechanism в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах механизмов исключения.
provider - имя поставщика.
Возвращает:
новый объект ExemptionMechanism.
Исключение:
NullPointerException - если algorithm равно null.
NoSuchAlgorithmException - если реализация ExemptionMechanismSpi для указанного алгоритма недоступна от указанного поставщика.
NoSuchProviderException - если указанный поставщик не зарегистрирован в списке поставщиков безопасности.
IllegalArgumentException - если provider равно null или пустое.
См. также:
Provider

getInstance

public static final ExemptionMechanism getInstance(String algorithm,
                                                   Provider provider)
                                            throws NoSuchAlgorithmException

Возвращает объект ExemptionMechanism, реализующий указанный алгоритм механизма исключения.

Возвращается новый объект ExemptionMechanism, инкапсулирующий реализацию ExemptionMechanismSpi от указанного объекта Provider. Обратите внимание, что указанный объект Provider не обязательно должен быть зарегистрирован в списке поставщиков.

Параметры:
algorithm - стандартное имя запрошенного механизма исключения. См. раздел ExemptionMechanism в документации Java Cryptography Architecture по стандартным именам алгоритмов для получения информации о стандартных именах механизмов исключения.
provider - поставщик.
Возвращает:
новый объект ExemptionMechanism.
Исключение:
NullPointerException - если algorithm равно null.
NoSuchAlgorithmException - если реализация ExemptionMechanismSpi для указанного алгоритма недоступна от указанного объекта Provider.
IllegalArgumentException - если provider равно null.
См. также:
Provider

getProvider

public final Provider getProvider()

Возвращает поставщика этого объекта ExemptionMechanism.

Возвращает:
поставщик этого объекта ExemptionMechanism.

isCryptoAllowed

public final boolean isCryptoAllowed(Key key)
                              throws ExemptionMechanismException

Возвращает, был ли успешно сгенерирован результат blob этим механизмом исключения.

Метод также проверяет, что переданный ключ совпадает с ключом, который использовал этот механизм исключения при инициализации и генерации.

Параметры:
key - ключ, который будет использовать криптография.
Возвращает:
был ли успешно сгенерирован результат blob с тем же ключом этим механизмом исключения; false, если key равно null.
Исключение:
ExemptionMechanismException - если возникли проблемы при определении, был ли успешно сгенерирован blob результата этим объектом механизма исключения.

getOutputSize

public final int getOutputSize(int inputLen)
                        throws IllegalStateException

Возвращает длину в байтах, которая должна быть у буфера вывода, чтобы содержать результат следующей операции genExemptionBlob, учитывая длину входных данных inputLen (в байтах).

Фактическая длина вывода следующего вызова genExemptionBlob может быть меньше, чем длина, возвращённая этим методом.

Параметры:
inputLen - длина входных данных (в байтах)
Возвращает:
необходимый размер буфера вывода (в байтах)
Исключение:
IllegalStateException - если этот механизм исключения находится в неправильном состоянии (например, ещё не был инициализирован)

init

public final void init(Key key)
                throws InvalidKeyException,
                       ExemptionMechanismException

Инициализирует этот механизм исключения с помощью ключа.

Если этому механизму исключения требуются какие-либо параметры алгоритма, которые нельзя получить из данного key, реализация основного механизма исключения должна генерировать необходимые параметры самостоятельно (используя значения по умолчанию, специфичные для поставщика); в случае, если параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidKeyException.

Параметры:
key - ключ для этого механизма исключения
Исключение:
InvalidKeyException - если данный ключ не подходит для этого механизма исключения.
ExemptionMechanismException - если при инициализации возникла(и) проблема(ы).

init

public final void init(Key key,
                       AlgorithmParameterSpec params)
                throws InvalidKeyException,
                       InvalidAlgorithmParameterException,
                       ExemptionMechanismException

Инициализирует этот механизм исключения с помощью ключа и набора параметров алгоритма.

Если этому механизму исключения требуются какие-либо параметры алгоритма, и params равно null, реализация основного механизма исключения должна генерировать необходимые параметры самостоятельно (используя значения по умолчанию, специфичные для поставщика); в случае, если параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidAlgorithmParameterException.

Параметры:
key - ключ для этого механизма исключения
params - параметры алгоритма
Исключение:
InvalidKeyException - если данный ключ не подходит для этого механизма исключения.
InvalidAlgorithmParameterException - если заданные параметры алгоритма не подходят для этого механизма исключения.
ExemptionMechanismException - если при инициализации возникла(и) проблема(ы).

init

public final void init(Key key,
                       AlgorithmParameters params)
                throws InvalidKeyException,
                       InvalidAlgorithmParameterException,
                       ExemptionMechanismException

Инициализирует этот механизм исключения с помощью ключа и набора параметров алгоритма.

Если этому механизму исключения требуются какие-либо параметры алгоритма, и params равно null, реализация основного механизма исключения должна генерировать необходимые параметры самостоятельно (используя значения по умолчанию, специфичные для поставщика); в случае, если параметры алгоритма должны быть указаны вызывающей стороной, генерируется InvalidAlgorithmParameterException.

Параметры:
key - ключ для этого механизма исключения
params - параметры алгоритма
Исключение:
InvalidKeyException - если данный ключ не подходит для этого механизма исключения.
InvalidAlgorithmParameterException - если заданные параметры алгоритма не подходят для этого механизма исключения.
ExemptionMechanismException - если при инициализации возникла(и) проблема(ы).

genExemptionBlob

public final byte[] genExemptionBlob()
                              throws IllegalStateException,
                                     ExemptionMechanismException

Генерирует blob ключа механизма исключения.

Возвращает:
новый буфер с результатом blob ключа.
Исключение:
IllegalStateException - если этот механизм исключения находится в неправильном состоянии (например, не был инициализирован).
ExemptionMechanismException - если при генерации возникла(и) проблема(ы).

genExemptionBlob

public final int genExemptionBlob(byte[] output)
                           throws IllegalStateException,
                                  ShortBufferException,
                                  ExemptionMechanismException

Генерирует blob ключа механизма исключения и сохраняет результат в буфере output.

Если буфер output слишком мал для хранения результата, генерируется исключение ShortBufferException. В этом случае повторите вызов с большим буфером вывода. Используйте getOutputSize для определения того, каким должен быть размер буфера вывода.

Параметры:
output - буфер для результата
Возвращает:
количество байт, сохранённых в буфере output
Исключение:
IllegalStateException - если этот механизм исключения находится в неправильном состоянии (например, не был инициализирован).
ShortBufferException - если заданный буфер вывода слишком мал для хранения результата.
ExemptionMechanismException - если при генерации возникла(и) проблема(ы).

genExemptionBlob

public final int genExemptionBlob(byte[] output,
                                  int outputOffset)
                           throws IllegalStateException,
                                  ShortBufferException,
                                  ExemptionMechanismException

Генерирует ключ механизма исключения, и сохраняет результат в буфере output, начиная с позиции outputOffset.

Если буфер output слишком мал для хранения результата, будет брошено исключение ShortBufferException. В этом случае, повторите вызов с более большим буфером. Используйте getOutputSize, чтобы определить необходимый размер буфера.

Параметры:
output - буфер для результата
outputOffset - смещение в output для хранения результата
Возвращает:
количество байтов, сохранённых в output
Исключения:
IllegalStateException - если механизм исключения находится в неправильном состоянии (например, не был инициализирован).
ShortBufferException - если предоставленный буфер слишком мал для хранения результата.
ExemptionMechanismException - если при генерации возникли проблемы.

finalize

protected void finalize()

Обеспечивает, что ключ, сохранённый объектом ExemptionMechanism, будет удалён, когда на него больше нет ссылок.

Переопределяет:
finalize в классе Object
См. также:
WeakReference, PhantomReference

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

Spec-Zone.ru

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