Spec-Zone .ru
спецификации, руководства, описания, API
|
public abstract class KeyPairGenerator extends KeyPairGeneratorSpi
getInstance
методы фабрики (статические методы, которые возвращают экземпляры данного класса). Генератор Пары ключей для определенного алгоритма создает пару "открытый/закрытый ключ", которая может использоваться с этим алгоритмом. Это также связывает специфичные для алгоритма параметры с каждым из сгенерированных ключей.
Есть два способа генерировать пару ключей: независимым от алгоритма способом, и специфичным для алгоритма способом. Единственной разницей между этими двумя является инициализация объекта:
Все генераторы пары ключей совместно используют понятие размера ключа и источник случайности. Размер ключа интерпретируется по-другому для различных алгоритмов (например, в случае алгоритма DSA, размер ключа соответствует длине модуля). Есть initialize
метод в этом классе KeyPairGenerator, который берет эти два универсально совместно используемых типа параметров. Есть также тот, который берет только 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 битов.
Отметьте, что этот класс абстрактен и расширяется от KeyPairGeneratorSpi
по историческим причинам. Разработчики приложений должны только заметить методов, определенных в этом KeyPairGenerator
класс; все методы в суперклассе предназначаются для провайдеров криптографических служб, которые хотят предоставить их собственные реализации генераторов пары ключей.
Каждая реализация платформы 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 для указанного алгоритма.Provider
public static KeyPairGenerator getInstance(String algorithm, String provider) throws NoSuchAlgorithmException, NoSuchProviderException
Возвращается новый объект KeyPairGenerator инкапсуляция реализации KeyPairGeneratorSpi от указанного провайдера. Указанный провайдер должен быть зарегистрирован в списке поставщика систем обеспечения безопасности.
Отметьте, что список зарегистрированных провайдеров может быть получен через Security.getProviders()
метод.
algorithm
- стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- имя строки провайдера.NoSuchAlgorithmException
- если реализация KeyPairGeneratorSpi для указанного алгоритма не доступна от указанного провайдера.NoSuchProviderException
- если указанный провайдер не регистрируется в списке поставщика систем обеспечения безопасности.IllegalArgumentException
- если имя провайдера является нулем или пустой.Provider
public static KeyPairGenerator getInstance(String algorithm, Provider provider) throws NoSuchAlgorithmException
Возвращается новый объект KeyPairGenerator инкапсуляция реализации KeyPairGeneratorSpi от указанного объекта Провайдера. Отметьте, что указанный объект Провайдера не должен быть зарегистрирован в списке провайдера.
algorithm
- стандартное имя строки алгоритма. См. раздел KeyPairGenerator в Документации Имени Алгоритма Стандарта Архитектуры Криптографии Java для информации о стандартных именах алгоритма.provider
- провайдер.NoSuchAlgorithmException
- если реализация KeyPairGeneratorSpi для указанного алгоритма не доступна от указанного объекта Провайдера.IllegalArgumentException
- если указанный провайдер является нулем.Provider
public final Provider getProvider()
public void initialize(int keysize)
SecureRandom
реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom
, обеспеченный системой источник случайности используется.)keysize
- размер ключа. Это - специфичная для алгоритма метрика, такая как длина модуля, определенная в числе битов.InvalidParameterException
- если keysize
не поддерживается этим объектом KeyPairGenerator.public void initialize(int keysize, SecureRandom random)
initialize
в классе KeyPairGeneratorSpi
keysize
- размер ключа. Это - специфичная для алгоритма метрика, такая как длина модуля, определенная в числе битов.random
- источник случайности.InvalidParameterException
- если keysize
не поддерживается этим объектом KeyPairGenerator.public void initialize(AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException
SecureRandom
реализация самого высокого приоритета установленный провайдер как источник случайности. (Если ни один из установленных провайдеров не предоставляет реализацию SecureRandom
, обеспеченный системой источник случайности используется.). Этот конкретный метод был добавлен к этому ранее определенному абстрактному классу. Это вызовы метода KeyPairGeneratorSpi initialize
метод, передавая это params
и источник случайности (полученный из самого высокого приоритета установленный провайдер или обеспеченный системой, если ни один из установленных провайдеров не предоставляет один). Это initialize
метод всегда бросает UnsupportedOperationException, если он не переопределяется провайдером.
params
- набор параметра, используемый, чтобы генерировать ключи.InvalidAlgorithmParameterException
- если данные параметры являются несоответствующими для этого генератора пары ключей.public void initialize(AlgorithmParameterSpec params, SecureRandom random) throws InvalidAlgorithmParameterException
Этот конкретный метод был добавлен к этому ранее определенному абстрактному классу. Это вызовы метода KeyPairGeneratorSpi initialize
метод, передавая это params
и random
. Это initialize
метод всегда бросает UnsupportedOperationException, если он не переопределяется провайдером.
initialize
в классе KeyPairGeneratorSpi
params
- набор параметра, используемый, чтобы генерировать ключи.random
- источник случайности.InvalidAlgorithmParameterException
- если данные параметры являются несоответствующими для этого генератора пары ключей.public final KeyPair genKeyPair()
Если этот KeyPairGenerator не был инициализирован явно, специфичные для провайдера значения по умолчанию будут использоваться для размера и других (специфичных для алгоритма) значений сгенерированных ключей.
Это генерирует новую пару ключей каждый раз, когда ее вызывают.
Этот метод функционально эквивалентен generateKeyPair
.
public KeyPair generateKeyPair()
Если этот KeyPairGenerator не был инициализирован явно, специфичные для провайдера значения по умолчанию будут использоваться для размера и других (специфичных для алгоритма) значений сгенерированных ключей.
Это генерирует новую пару ключей каждый раз, когда ее вызывают.
Этот метод функционально эквивалентен genKeyPair
.
generateKeyPair
в классе KeyPairGeneratorSpi
Для дальнейшей ссылки API и документации разработчика, см.
Авторское право © 1993, 2011, Oracle и/или его филиалы. Все права защищены.