PySide6.QtOpcUa.QOpcUaKeyPair¶
- class QOpcUaKeyPair¶
QOpcUaKeyPair处理私钥和公钥对。更多…概要¶
方法¶
def
__init__()def
generateRsaKey()def
hasPrivateKey()def
type()
信号¶
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
此类目前作为技术预览提供,因此该类提供的API和功能可能会随时更改,恕不另行通知。
它可以生成、加载和存储用于非对称加密的密钥。需要密钥的函数必须传递此类的实例。
- class RsaKeyStrength¶
此枚举类型指定RSA密钥的强度。
常量
描述
QOpcUaKeyPair.RsaKeyStrength.Bits1024
1024位的密钥强度。
QOpcUaKeyPair.RsaKeyStrength.Bits2048
2048位的密钥强度。
QOpcUaKeyPair.RsaKeyStrength.Bits4096
4096位的密钥强度。
- class KeyType¶
此枚举类型指定键的类型。
常量
描述
QOpcUaKeyPair.KeyType.Rsa
一个RSA密钥
QOpcUaKeyPair.KeyType.Empty
没有可用的密钥。
QOpcUaKeyPair.KeyType.Unknown
密钥类型未处理。
- class Cipher¶
用于加密私钥的密码。
常量
描述
QOpcUaKeyPair.Cipher.Aes128Cbc
使用CBC加密AES128
QOpcUaKeyPair.Cipher.Unencrypted
密钥将不会被加密。
创建一个新的空密钥对,其中
parent作为父对象。- generateRsaKey(strength)¶
- Parameters:
强度 –
RsaKeyStrength
生成一个新的非对称RSA密钥对。
密钥的长度由
strength指定。- hasPrivateKey()¶
- Return type:
布尔
如果当前密钥包含私钥,则返回
true,否则返回false。- loadFromPemData(data)¶
- Parameters:
数据 –
QByteArray- Return type:
布尔
从PEM编码的数据中加载一个密钥,
data。成功时返回true,否则返回false。它从PEM头检测数据是否包含私钥或公钥。通过将函数连接到信号
passphraseNeeded以提供密码短语,可以加载加密的密钥。- passphraseNeeded(passphrase, maximumLength, writeOperation)¶
- Parameters:
passphrase – str
maximumLength – int
writeOperation – 布尔值
当私钥需要
passphrase进行加密或解密时,会发出此信号。writeOperation当需要导出密钥时需要密码时为true,当需要导入密钥时需要密码时为false。maximumLength指定了密码短语的最大字节长度。超过此限制的passphrase中的所有字符将被忽略。如果你在跨线程使用这个信号,你必须使用
Qt::BlockingQueuedConnection来连接它。返回PEM编码的私钥。如果没有私钥,则返回一个空的字节数组。
密钥的加密必须使用参数
cipher和password来指定。为了以未加密的方式存储密钥,必须使用Cipher::Unencrypted加密方式。- publicKeyToByteArray()¶
- Return type:
返回公钥作为字节数组。
返回当前键的类型。