Интерфейс DSAKeyPairGenerator
public interface DSAKeyPairGenerator
Интерфейс объекта, способного генерировать пары ключей DSA.
Методы initialize могут вызываться любое количество раз. Если ни один метод initialize не вызывается на DSAKeyPairGenerator, по умолчанию генерируются ключи длиной 1024 бита, используя предварительно вычисленные параметры p, q и g и экземпляр SecureRandom в качестве источника случайных битов.
Пользователи, желающие указать параметры, специфичные для DSA, и сгенерировать пару ключей, подходящих для использования с алгоритмом DSA, обычно
- Получают генератор пары ключей для алгоритма DSA, вызвав метод KeyPairGenerator
getInstanceс аргументом "DSA". - Инициализируют генератор, преобразовав результат в DSAKeyPairGenerator и вызвав один из методов
initializeиз интерфейса DSAKeyPairGenerator. - Генерируют пару ключей, вызвав метод
generateKeyPairиз класса KeyPairGenerator.
Примечание: не всегда необходимо выполнять инициализацию, специфичную для алгоритма, для генератора пары ключей DSA. То есть, не всегда необходимо вызывать метод initialize в этом интерфейсе. Достаточно выполнить независимую от алгоритма инициализацию, используя метод initialize в интерфейсе KeyPairGenerator, если вы принимаете значения параметров по умолчанию.
Примечание: некоторые более ранние реализации этого интерфейса могут не поддерживать более крупные размеры параметров DSA, такие как 2048 и 3072 бита.
- См. также:
KeyPairGenerator
Методы
| Модификатор и тип | Метод и описание |
|---|---|
void |
initialize(DSAParams params,
SecureRandom random) Инициализирует генератор пары ключей с использованием параметров семейства DSA (p, q и g) и необязательного источника случайных битов SecureRandom. |
void |
initialize(int modlen,
boolean genParams,
SecureRandom random) Инициализирует генератор пары ключей для заданной длины модуля (вместо параметров) и необязательного источника случайных битов SecureRandom. |
Методы
initialize
void initialize(DSAParams params,
SecureRandom random)
throws InvalidParameterException Инициализирует генератор пары ключей с использованием параметров семейства DSA (p, q и g) и необязательного источника случайных битов SecureRandom. Если источник случайных битов SecureRandom необходим, но не предоставлен (т.е. null), будет использован экземпляр SecureRandom по умолчанию.
- Параметры:
-
params- параметры, используемые для генерации ключей. -
random- источник случайных битов для генерации битов ключа; может быть null. - Исключения:
-
InvalidParameterException- если значениеparamsнедействительно, null или не поддерживается.
initialize
void initialize(int modlen,
boolean genParams,
SecureRandom random)
throws InvalidParameterException Инициализирует генератор пары ключей для заданной длины модуля (вместо параметров) и необязательного источника случайных битов SecureRandom. Если источник случайных битов SecureRandom необходим, но не предоставлен (т.е. null), будет использован экземпляр SecureRandom по умолчанию.
Если genParams равно true, этот метод генерирует новые параметры p, q и g. Если оно равно false, метод использует предварительно вычисленные параметры для запрошенной длины модуля. Если предварительно вычисленные параметры для этой длины модуля отсутствуют, будет выброшено исключение. Гарантируется, что для длин модулей 512 и 1024 бит всегда будут параметры по умолчанию.
- Параметры:
-
modlen- длина модуля в битах. Допустимые значения — любые кратные 64 между 512 и 1024 включительно, 2048 и 3072. -
random- источник случайных битов для генерации битов ключа; может быть null. -
genParams- нужно ли генерировать новые параметры для запрошенной длины модуля. - Исключения:
-
InvalidParameterException- еслиmodlenнедействительно или не поддерживается, или еслиgenParamsравно false и предварительно вычисленные параметры для запрошенной длины модуля отсутствуют.
© 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.