Класс KeyGenerator
Сигналы
void | finished () |
Публичные функции
bool | blockingEnabled () const |
PrivateKey | createDH (const DLGroup &domain, const QString &provider=QString()) |
DLGroup | createDLGroup (QCA::DLGroupSet set, const QString &provider=QString()) |
PrivateKey | createDSA (const DLGroup &domain, const QString &provider=QString()) |
PrivateKey | createEC (const QString &curve, const QString &provider=QString()) |
PrivateKey | createGOST (const QString ¶mset, const QString &provider=QString()) |
PrivateKey | createRSA (int bits, int exp=65537, const QString &provider=QString()) |
DLGroup | dlGroup () const |
bool | isBusy () const |
PrivateKey | key () const |
KeyGenerator (QObject *parent=nullptr) | |
void | setBlockingEnabled (bool b) |
Дружественные функции и классы
class | Private |
Подробное описание
Класс для генерации асимметричных пар ключей.
Этот класс используется для генерации асимметричных ключей (пар открытого/закрытого ключей).
Примеры
Описание конструкторов и деструктора
KeyGenerator()
QCA::KeyGenerator::KeyGenerator (QObject * parent = nullptr) |
Создаёт новый генератор ключей.
Параметры
parent | Родительский объект, если применимо |
Описание методов
blockingEnabled()
bool QCA::KeyGenerator::blockingEnabled () const |
Проверяет, настроен ли генератор ключей на работу в режиме блокировки.
Возвращает true
, если генератор ключей находится в режиме блокировки.
См. также setBlockingEnabled
setBlockingEnabled()
void QCA::KeyGenerator::setBlockingEnabled (bool b) |
Устанавливает, находится ли генератор ключей в режиме блокировки.
Параметры
b | Если true , генератор ключей будет настроен на работу в режиме блокировки, в противном случае он будет работать в неблокирующем режиме |
См. также blockingEnabled().
isBusy()
bool QCA::KeyGenerator::isBusy () const |
Проверяет, занят ли в настоящее время генератор ключей.
Возвращает true
, если генератор ключей уже занят генерацией ключа.
createRSA()
PrivateKey QCA::KeyGenerator::createRSA (int bits, int exp = 65537, const QString & provider = QString() ) |
Создаёт ключ RSA указанной длины.
Этот метод создаёт как открытый ключ, так и соответствующий закрытый ключ. Скорее всего возникнет задача извлечь часть открытого ключа — простой способ как это сделать представлен в PKey::toPublicKey.
Выбрать подходящую длину ключа непросто — использование менее 2048
, вероятно, слишком
небезопасно для долгосрочного использования. Не следует использовать меньше 1024
без серьезного
анализа.
Параметры
bits | Требуемая длина ключа |
exp | Показатель степени — обычно 3 , 17 или 65537 |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
Примеры
createDSA()
PrivateKey QCA::KeyGenerator::createDSA (const DLGroup & domain, const QString & provider = QString() ) |
Создаёт ключ DSA.
Этот метод создаёт как открытый ключ, так и соответствующий закрытый ключ. Скорее всего возникнет задача извлечь часть открытого ключа — простой способ как это сделать представлен в PKey::toPublicKey.
Параметры
domain | Группа дискретных логарифмов, из которой должен быть сгенерирован этот ключ |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
Примечание.
Не всякая DLGroup имеет смысл для DSA. Необходимо
использовать один из DSA_512
, DSA_768
и DSA_1024
.
createDH()
PrivateKey QCA::KeyGenerator::createDH (const DLGroup & domain, const QString & provider = QString() ) |
Создаёт ключ согласно протоколу Диффи-Хеллмана.
Этот метод создаёт как открытый ключ, так и соответствующий закрытый ключ. Скорее всего возникнет задача извлечь часть открытого ключа — простой способ как это сделать представлен в PKey::toPublicKey.
Параметры
domain | Группа дискретных логарифмов, из которой должен быть сгенерирован этот ключ |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
Примечание.
Для совместимости необходимо использовать один из наборов групп IETF_
в качестве аргумента
домена.
createEC()
PrivateKey QCA::KeyGenerator::createEC (const QString & curve, const QString & provider = QString() ) |
Создаёт ключ на основе указанной эллиптической кривой.
Этот метод создаёт как открытый ключ, так и соответствующий закрытый ключ. Скорее всего возникнет задача извлечь часть открытого ключа — простой способ как это сделать представлен в PKey::toPublicKey.
Параметры
curve | Название эллиптической кривой для создания |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
createGOST()
PrivateKey QCA::KeyGenerator::createGOST (const QString & paramset, const QString & provider = QString() ) |
Создаёт ключ ГОСТ на основе указанного набора параметров.
Этот метод создаёт как открытый ключ, так и соответствующий закрытый ключ. Скорее всего возникнет задача извлечь часть открытого ключа — простой способ как это сделать представлен в PKey::toPublicKey.
Параметры
paramset | название набора параметров для создания |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
key()
PrivateKey QCA::KeyGenerator::key () const |
Возвращает последний сгенерированный ключ.
Метод действительно полезен только тогда, когда осуществляется работа с неблокирующей генерацией ключей.
createDLGroup()
DLGroup QCA::KeyGenerator::createDLGroup (QCA::DLGroupSet set, const QString & provider = QString() ) |
Создаёт новую группу дискретных логарифмов.
Параметры
set | Набор параметров дискретного логарифма для генерации |
provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
dlGroup()
DLGroup QCA::KeyGenerator::dlGroup () const |
Текущая группа дискретных логарифмов.
finished
void QCA::KeyGenerator::finished () | signal |
Вызывается, когда генерация ключа завершена.
Используется только в неблокирующем режиме.