Класс KeyGenerator
#include <QtCrypto>
Диаграмма кооперации класса QCA::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::DLGroupSetset, const QString & provider = QString() ) |
Создаёт новую группу дискретных логарифмов.
Параметры
| set | Набор параметров дискретного логарифма для генерации |
| provider | Название криптопровайдера, который будет использоваться, если требуется конкретный криптопровайдер |
dlGroup()
| DLGroup QCA::KeyGenerator::dlGroup () const |
Текущая группа дискретных логарифмов.
finished
| void QCA::KeyGenerator::finished () | signal |
Вызывается, когда генерация ключа завершена.
Используется только в неблокирующем режиме.