Класс QOpcUaKeyPair
Класс QOpcUaKeyPair обрабатывает пары открытых и закрытых ключей. Подробнее...
| Заголовок: | #include <QOpcUaKeyPair> |
| qmake: | QT += opcua |
| С тех пор: | Qt 5.14 |
| Наследует: | QObject |
Типы публичного доступа
| перечисление | Cipher { Aes128Cbc, Unencrypted } |
| перечисление | KeyType { Rsa, Empty, Unknown } |
| перечисление | RsaKeyStrength { Bits1024, Bits2048, Bits4096 } |
Функции публичного доступа
| QOpcUaKeyPair(QObject *parent = nullptr) | |
| виртуальный | ~QOpcUaKeyPair() |
| void | generateRsaKey(QOpcUaKeyPair::RsaKeyStrength strength) |
| bool | hasPrivateKey() const |
| bool | loadFromPemData(const QByteArray &data) |
| QByteArray | privateKeyToByteArray(QOpcUaKeyPair::Cipher cipher, const QString &password) const |
| QByteArray | publicKeyToByteArray() const |
| QOpcUaKeyPair::KeyType | type() const |
Сигналы
| void | passphraseNeeded(QString &passphrase, int maximumLength, bool writeOperation) |
Подробное описание
В настоящее время этот класс доступен в качестве предварительной технологии, и поэтому API и функциональные возможности, предоставляемые классом, могут быть изменены в любое время без предварительного уведомления.
Он может генерировать, загружать и хранить ключи для асимметричного шифрования. Экземпляры этого класса должны передаваться функциям, которым нужен ключ.
Документация по типам членов
перечисление QOpcUaKeyPair::Cipher
Шифры для шифрования закрытых ключей.
| Постоянная | Значение | Описание |
|---|---|---|
QOpcUaKeyPair::Cipher::Aes128Cbc |
0 |
Шифрование AES128 с CBC |
QOpcUaKeyPair::Cipher::Unencrypted |
1 |
Ключ не будет зашифрован. |
перечисление QOpcUaKeyPair::KeyType
Этот тип перечисления указывает тип ключа.
| Постоянная | Значение | Описание |
|---|---|---|
QOpcUaKeyPair::KeyType::Rsa |
0 |
Ключ RSA |
QOpcUaKeyPair::KeyType::Empty |
1 |
Ключ недоступен. |
QOpcUaKeyPair::KeyType::Unknown |
2 |
Тип ключа не обрабатывается. |
перечисление QOpcUaKeyPair::RsaKeyStrength
Этот тип перечисления указывает силу ключа RSA.
| Постоянная | Значение | Описание |
|---|---|---|
QOpcUaKeyPair::RsaKeyStrength::Bits1024 |
1024 |
Сила ключа 1024 бита. |
QOpcUaKeyPair::RsaKeyStrength::Bits2048 |
2048 |
Сила ключа 2048 бит. |
QOpcUaKeyPair::RsaKeyStrength::Bits4096 |
4096 |
Сила ключа 4096 бит. |
Документация по функциям членов
QOpcUaKeyPair::QOpcUaKeyPair(QObject *parent = nullptr)
Создаёт новую пустую пару ключей с parent в качестве родительского объекта.
Сигнал void QOpcUaKeyPair::passphraseNeeded(QString &passphrase, int maximumLength, bool writeOperation)
Этот сигнал генерируется, когда для шифрования или дешифрования закрытого ключа требуется passphrase.
writeOperation — true при необходимости пароля для экспорта ключа и false при необходимости пароля для импорта ключа.
maximumLength определяет максимальную длину в байтах для пароля. Все символы в passphrase, превышающие этот предел, будут игнорироваться.
Если вы используете этот сигнал между потоками, то необходимо соединить его с Qt::BlockingQueuedConnection.
Деструктор QOpcUaKeyPair::~QOpcUaKeyPair()
Удаляет пару ключей.
void QOpcUaKeyPair::generateRsaKey(QOpcUaKeyPair::RsaKeyStrength strength)
Генерирует новую асимметричную пару ключей RSA.
Длина ключа задаётся параметром strength.
bool QOpcUaKeyPair::hasPrivateKey() const
Возвращает true, если текущий ключ содержит закрытый ключ, иначе false.
bool QOpcUaKeyPair::loadFromPemData(const QByteArray &data)
Загружает ключ из данных PEM в data. Возвращает true при успехе и false в противном случае.
Определяется из заголовка PEM, содержит ли данные закрытый или открытый ключ. Загрузка зашифрованных ключей возможна путём подключения функции к сигналу passphraseNeeded для предоставления пароля.
QByteArray QOpcUaKeyPair::privateKeyToByteArray(QOpcUaKeyPair::Cipher cipher, const QString &password) const
Возвращает PEM-кодированный закрытый ключ. Если закрытый ключ отсутствует, возвращается пустой массив байтов.
Шифрование ключа должно быть задано с помощью параметров cipher и password. Для хранения незашифрованного ключа необходимо использовать шифр Cipher::Unencrypted.
QByteArray QOpcUaKeyPair::publicKeyToByteArray() const
Возвращает открытый ключ в виде массива байтов.
QOpcUaKeyPair::KeyType QOpcUaKeyPair::type() const
Возвращает тип текущего ключа.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qopcuakeypair.html