Класс 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) Генерирует блок ключа механизма исключения и сохраняет результат в буфере |
int |
genExemptionBlob(byte[] output,
int outputOffset) Генерирует блок ключа механизма исключения и сохраняет результат в буфере |
static ExemptionMechanism |
getInstance(String algorithm) Возвращает объект |
static ExemptionMechanism |
getInstance(String algorithm,
Provider provider) Возвращает объект |
static ExemptionMechanism |
getInstance(String algorithm,
String provider) Возвращает объект |
String |
getName() Возвращает имя механизма исключения для этого объекта |
int |
getOutputSize(int inputLen) Возвращает длину в байтах, которую должен иметь буфер вывода, чтобы содержать результат следующей операции |
Provider |
getProvider() Возвращает поставщика этого объекта |
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.