|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class KeyPairGenerator extends KeyPairGeneratorSpi
getInstance методы фабрики (статические методы, которые возвращают экземпляры данного class). Генератор Пары ключей для определенного алгоритма создает пару "открытый/закрытый ключ", которая может использоваться с этим алгоритмом. Это также связывает специфичные для алгоритма параметры с каждым из сгенерированных ключей.
Есть два способа генерировать пару ключей: независимым от алгоритма способом, и специфичным для алгоритма способом. Единственной разницей между этими двумя является инициализация объекта:
Все генераторы пары ключей совместно используют понятие размера ключа и источник случайности. Размер ключа интерпретируется по-другому для различных алгоритмов (например, в случае алгоритма DSA, размер ключа соответствует длине модуля). Есть initialize метод в этом KeyPairGenerator class, который берет эти два универсально совместно используемых типа параметров. Есть также тот, который берет только a keysize параметр, и использование SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom, обеспеченный системой источник случайности используется.)
Так как никакие другие параметры не определяются, когда Вы вызываете вышеупомянутое независимое от алгоритма initialize методы, это до провайдера, что сделать о специфичных для алгоритма параметрах (если любой), чтобы быть связанным с каждым из ключей.
Если алгоритм является алгоритмом DSA, и размер ключа (размер модуля) 512, 768, или 1024, то провайдер Sun использует ряд предварительно вычисленных значений для p, q, и g параметры. Если размер модуля не является одним из вышеупомянутых значений, провайдер Sun создает новый набор параметров. Другие провайдеры, возможно, предварительно вычислили наборы параметра для больше чем только три упомянутые выше размера модуля. Все еще другие не могли бы иметь списка предварительно вычисленных параметров вообще и вместо этого всегда создавать новые наборы параметра.
Для ситуаций, где ряд специфичных для алгоритма параметров уже существует (например, так называемые параметры сообщества в DSA), есть два initialize методы, которые имеют AlgorithmParameterSpec параметр. У каждого также есть a SecureRandom параметр, в то время как другое использование SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom, обеспеченный системой источник случайности используется.)
В случае, если клиент явно не инициализирует KeyPairGenerator (через звонок initialize метод), каждый провайдер должен предоставить (и документ) инициализацию значения по умолчанию. Например, провайдер Sun использует размер модуля значения по умолчанию (размер ключа) 1024 битов.
Отметьте, что этот class абстрактен и расширяется от KeyPairGeneratorSpi по историческим причинам. Разработчики приложений должны только заметить методов, определенных в этом KeyPairGenerator class; все методы в суперклассе предназначаются для провайдеров криптографических служб, которые хотят предоставить их собственные реализации генераторов пары ключей.
Каждая реализация платформы Java обязана поддерживать следующий стандарт KeyPairGenerator алгоритмы и размеры ключа в круглых скобках:
AlgorithmParameterSpec| Модификатор | Конструктор и Описание |
|---|---|
protected |
KeyPairGenerator(String algorithm)
Создает объект KeyPairGenerator для указанного алгоритма.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
KeyPair |
generateKeyPair()
Генерирует пару ключей.
|
KeyPair |
genKeyPair()
Генерирует пару ключей.
|
Строка |
getAlgorithm()
Возвращает стандартное имя алгоритма для этого генератора пары ключей.
|
static KeyPairGenerator |
getInstance(String algorithm)
Возвращает объект KeyPairGenerator, который генерирует пары "открытый/закрытый ключ" для указанного алгоритма.
|
static KeyPairGenerator |
getInstance(String algorithm, Provider provider)
Возвращает объект KeyPairGenerator, который генерирует пары "открытый/закрытый ключ" для указанного алгоритма.
|
static KeyPairGenerator |
getInstance(String algorithm, String provider)
Возвращает объект KeyPairGenerator, который генерирует пары "открытый/закрытый ключ" для указанного алгоритма.
|
Провайдер |
getProvider()
Возвращает провайдера этого объекта генератора пары ключей.
|
void |
initialize(AlgorithmParameterSpec params)
Инициализирует генератор пары ключей, используя указанный набор параметра и
SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. |
void |
initialize(AlgorithmParameterSpec params, SecureRandom random)
Инициализирует генератор пары ключей с данным набором параметра и источником случайности.
|
void |
initialize(int keysize)
Инициализирует генератор пары ключей для определенного размера ключа, используя набор параметра значения по умолчанию и
SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. |
void |
initialize(int keysize, SecureRandom random)
Инициализирует генератор пары ключей для определенного размера ключа с данным источником случайности (и набор параметра значения по умолчанию).
|
protected KeyPairGenerator(String algorithm)
algorithm - стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.public String getAlgorithm()
public static KeyPairGenerator getInstance(String algorithm) throws NoSuchAlgorithmException
Этот метод пересекает список зарегистрированных поставщиков систем обеспечения безопасности, запускающихся с самого привилегированного Провайдера. Возвращается новый объект KeyPairGenerator инкапсуляция реализации KeyPairGeneratorSpi от первого Провайдера, который поддерживает указанный алгоритм.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.NoSuchAlgorithmException - если никакой Провайдер не поддерживает реализацию KeyPairGeneratorSpi для указанного алгоритма.Providerpublic static KeyPairGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Возвращается новый объект KeyPairGenerator инкапсуляция реализации KeyPairGeneratorSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders() метод.
algorithm - стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - имя строки провайдера.NoSuchAlgorithmException - если реализация KeyPairGeneratorSpi для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException - если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException - если имя провайдера является нулем или пустой.Providerpublic static KeyPairGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект KeyPairGenerator инкапсуляция реализации KeyPairGeneratorSpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm - стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider - провайдер.NoSuchAlgorithmException - если реализация KeyPairGeneratorSpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException - если указанный провайдер является нулем.Providerpublic final Provider getProvider()
public void initialize(int keysize)
SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom, обеспеченный системой источник случайности используется.)keysize - размер ключа. Это - специфичная для алгоритма метрика, такая как длина модуля, определенная в числе битов.InvalidParameterException - если keysize не поддерживается этим объектом KeyPairGenerator.public void initialize(int keysize,
SecureRandom random)
initialize в class KeyPairGeneratorSpikeysize - размер ключа. Это - специфичная для алгоритма метрика, такая как длина модуля, определенная в числе битов.random - источник случайности.InvalidParameterException - если keysize не поддерживается этим объектом KeyPairGenerator.public void initialize(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
SecureRandom реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom, обеспеченный системой источник случайности используется.). Этот конкретный метод был добавлен к этому ранее определенному абстрактному class. Это вызовы метода KeyPairGeneratorSpi initialize метод, передавая это params и источник случайности (полученный из самого высокого приоритета установленный провайдер или обеспеченный системой, если ни один из установленных провайдеров не предоставляет один). Это initialize метод всегда бросает UnsupportedOperationException, если он не переопределяется провайдером.
params - набор параметра, используемый, чтобы генерировать ключи.InvalidAlgorithmParameterException - если данные параметры являются несоответствующими для этого генератора пары ключей.public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
Этот конкретный метод был добавлен к этому ранее определенному абстрактному class. Это вызовы метода KeyPairGeneratorSpi initialize метод, передавая это params и random. Это initialize метод всегда бросает UnsupportedOperationException, если он не переопределяется провайдером.
initialize в class KeyPairGeneratorSpiparams - набор параметра, используемый, чтобы генерировать ключи.random - источник случайности.InvalidAlgorithmParameterException - если данные параметры являются несоответствующими для этого генератора пары ключей.public final KeyPair genKeyPair()
Если этот KeyPairGenerator не был инициализирован явно, специфичные для провайдера значения по умолчанию будут использоваться для размера и других (специфичных для алгоритма) значений сгенерированных ключей.
Это генерирует новую пару ключей каждый раз, когда ее вызывают.
Этот метод функционально эквивалентен generateKeyPair.
public KeyPair generateKeyPair()
Если этот KeyPairGenerator не был инициализирован явно, специфичные для провайдера значения по умолчанию будут использоваться для размера и других (специфичных для алгоритма) значений сгенерированных ключей.
Это генерирует новую пару ключей каждый раз, когда ее вызывают.
Этот метод функционально эквивалентен genKeyPair.
generateKeyPair в class KeyPairGeneratorSpi
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92