Spec-Zone .ru
спецификации, руководства, описания, API
|
public class KeyGenerator extends Object
Ключевые генераторы создаются, используя один из getInstance
методы класса этого класса.
Объекты KeyGenerator являются допускающими повторное использование, то есть, после того, как ключ был сгенерирован, тот же самый объект KeyGenerator может быть снова использован, чтобы генерировать дальнейшие ключи.
Есть два способа генерировать ключ: независимым от алгоритма способом, и специфичным для алгоритма способом. Единственной разницей между этими двумя является инициализация объекта:
Все ключевые генераторы совместно используют понятие размера ключа и источник случайности. Есть init
метод в этом классе KeyGenerator, который берет эти два универсально совместно используемых типа параметров. Есть также тот, который берет только a keysize
параметр, и использование реализация SecureRandom самого высокого приоритета установленный провайдер как источник случайности (или обеспеченный системой источник случайности, если ни один из установленных провайдеров не предоставляет реализацию SecureRandom), и тот, который берет только источник случайности.
Так как никакие другие параметры не определяются, когда Вы вызываете вышеупомянутое независимое от алгоритма init
методы, это до провайдера, что сделать о специфичных для алгоритма параметрах (если любой), чтобы быть связанным с каждым из ключей.
Для ситуаций, где ряд специфичных для алгоритма параметров уже существует, есть два init
методы, которые имеют AlgorithmParameterSpec
параметр. У каждого также есть a SecureRandom
параметр, в то время как другое использование реализация SecureRandom самого высокого приоритета установленный провайдер как источник случайности (или обеспеченный системой источник случайности, если ни один из установленных провайдеров не предоставляет реализацию SecureRandom).
В случае, если клиент явно не инициализирует KeyGenerator (через звонок init
метод), каждый провайдер должен предоставить (и документ) инициализацию по умолчанию.
Каждая реализация платформы Java обязана поддерживать следующий стандарт KeyGenerator
алгоритмы с размерами ключа в круглых скобках:
SecretKey
Модификатор | Конструктор и Описание |
---|---|
protected |
KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)
Создает объект KeyGenerator.
|
Модификатор и Тип | Метод и Описание |
---|---|
SecretKey |
generateKey()
Генерирует секретный ключ.
|
Строка |
getAlgorithm()
Возвращает имя алгоритма этого
KeyGenerator объект. |
static KeyGenerator |
getInstance(String algorithm)
Возвраты a
KeyGenerator объект, который генерирует секретные ключи для указанного алгоритма. |
static KeyGenerator |
getInstance(String algorithm, Provider provider)
Возвраты a
KeyGenerator объект, который генерирует секретные ключи для указанного алгоритма. |
static KeyGenerator |
getInstance(String algorithm, String provider)
Возвраты a
KeyGenerator объект, который генерирует секретные ключи для указанного алгоритма. |
Провайдер |
getProvider()
Возвращает провайдера этого
KeyGenerator объект. |
void |
init(AlgorithmParameterSpec params)
Инициализирует этот ключевой генератор с указанным набором параметра.
|
void |
init(AlgorithmParameterSpec params, SecureRandom random)
Инициализирует этот ключевой генератор с указанным набором параметра и предоставленным пользователем источником случайности.
|
void |
init(int keysize)
Инициализирует этот ключевой генератор для определенного размера ключа.
|
void |
init(int keysize, SecureRandom random)
Инициализирует этот ключевой генератор для определенного размера ключа, используя предоставленный пользователем источник случайности.
|
void |
init(SecureRandom random)
Инициализирует этот ключевой генератор.
|
protected KeyGenerator(KeyGeneratorSpi keyGenSpi, Provider provider, String algorithm)
keyGenSpi
- делегатprovider
- провайдерalgorithm
- алгоритмpublic final String getAlgorithm()
KeyGenerator
объект. Это - то же самое имя, которое было определено в одном из getInstance
вызовы, которые создали это KeyGenerator
объект.
KeyGenerator
объект.public static final KeyGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
KeyGenerator
объект, который генерирует секретные ключи для указанного алгоритма. Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект KeyGenerator инкапсуляция реализации KeyGeneratorSpi от первого Провайдера, который поддерживает указанный алгоритм.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- стандартное имя требуемого ключевого алгоритма. См. раздел KeyGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.KeyGenerator
объект.NullPointerException
- если указанный алгоритм является нулем.NoSuchAlgorithmException
- если никакой Провайдер не поддерживает реализацию KeyGeneratorSpi для указанного алгоритма.Provider
public static final KeyGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
KeyGenerator
объект, который генерирует секретные ключи для указанного алгоритма. Возвращается новый объект KeyGenerator инкапсуляция реализации KeyGeneratorSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- стандартное имя требуемого ключевого алгоритма. См. раздел KeyGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- имя провайдера.KeyGenerator
объект.NullPointerException
- если указанный алгоритм является нулем.NoSuchAlgorithmException
- если реализация KeyGeneratorSpi для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException
- если provider
нуль или пустой.Provider
public static final KeyGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
KeyGenerator
объект, который генерирует секретные ключи для указанного алгоритма. Возвращается новый объект KeyGenerator инкапсуляция реализации KeyGeneratorSpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm
- стандартное имя требуемого ключевого алгоритма. См. раздел KeyGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- провайдер.KeyGenerator
объект.NullPointerException
- если указанный алгоритм является нулем.NoSuchAlgorithmException
- если реализация KeyGeneratorSpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException
- если provider
нуль.Provider
public final Provider getProvider()
KeyGenerator
объект.KeyGenerator
объектpublic final void init(SecureRandom random)
random
- источник случайности для этого генератораpublic final void init(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
Если этот ключевой генератор потребует каких-либо случайных байтов, то это получит их использующий
реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставит реализацию SecureRandom, то обеспеченный системой источник случайности будет использоваться.)SecureRandom
params
- параметры генерации ключейInvalidAlgorithmParameterException
- если данные параметры являются несоответствующими для этого ключевого генератораpublic final void init(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
params
- параметры генерации ключейrandom
- источник случайности для этого ключевого генератораInvalidAlgorithmParameterException
- если params
является несоответствующим для этого ключевого генератораpublic final void init(int keysize)
Если этот ключевой генератор потребует каких-либо случайных байтов, то это получит их использующий
реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставит реализацию SecureRandom, то обеспеченный системой источник случайности будет использоваться.)SecureRandom
keysize
- размер ключа. Это - специфичная для алгоритма метрика, определенная в числе битов.InvalidParameterException
- если размер ключа является неправильным или не поддерживаемый.public final void init(int keysize, SecureRandom random)
keysize
- размер ключа. Это - специфичная для алгоритма метрика, определенная в числе битов.random
- источник случайности для этого ключевого генератораInvalidParameterException
- если размер ключа является неправильным или не поддерживаемый.public final SecretKey generateKey()
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.