QOpcUaKeyPair 类
QOpcUaKeyPair 处理私钥和公钥对。 更多...
头文件 | #include <QOpcUaKeyPair> |
CMake | find_package(Qt6 REQUIRED COMPONENTS OpcUa) target_link_libraries(mytarget PRIVATE Qt6::OpcUa) |
qmake | QT += opcua |
继承 | QObject |
公共类型
枚举类型 | Cipher { Aes128Cbc, Unencrypted } |
枚举类型 | KeyType { Rsa, Empty, Unknown } |
枚举类型 | RsaKeyStrength { Bits1024, Bits2048, Bits4096 } |
公共函数
QOpcUaKeyPair(QObject *parent = nullptr) | |
virtual | ~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) |
成员类型文档
枚举类型 QOpcUaKeyPair::Cipher
私有密钥加密的加密算法。
常量 | 值 | 描述 |
---|---|---|
QOpcUaKeyPair::Cipher::Aes128Cbc | 0 | 使用 CBC 加密 AES128 |
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创建一个新的空密钥对。
[虚函数 noexcept]
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
可以加载加密的密钥,为密码提供密码。
[信号]
void QOpcUaKeyPair::passphraseNeeded(QString &passphrase, int maximumLength, bool writeOperation)
当私钥需要加密或解密时需要一个密码时,会发出此信号。
writeOperation 为真时,是当需要导出密钥时用的密码,为假时是需要导入密钥时用的密码。
maximumLength 指定密码的最大长度(字节)。超出的所有字符passphrase都将被忽略。
如果在跨越线程边界的上下文中使用该信号,则需要使用代码Qt::BlockingQueuedConnection
来连接。
QByteArray QOpcUaKeyPair::privateKeyToByteArray(QOpcUaKeyPair::Cipher cipher, const QString &password) const
返回PEM编码的私钥。如果没有私钥,则返回空的字节数组。
必须使用参数cipher和password指定密钥的加密。为了不加密存储密钥,必须使用加密代码Cipher::Unencrypted
。
QByteArray QOpcUaKeyPair::publicKeyToByteArray() const
将公钥作为字节数组返回。
QOpcUaKeyPair::KeyType QOpcUaKeyPair::type() const
返回当前密钥的类型。
© 2024 Qt公司有限公司。本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档根据自由软件基金会发布的GNU自由文档许可协议版本1.3许可。Qt及其相关标志是芬兰及全球其他地区的Qt公司商标商标。所有其他商标均为其各自所有者的财产。