PySide6.QtOpcUa.QOpcUaKeyPair

class QOpcUaKeyPair

QOpcUaKeyPair 处理私钥和公钥对。更多

PySide6.QtOpcUa.QOpcUaKeyPair 的继承图

概要

方法

信号

注意

本文档可能包含从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

密钥将不会被加密。

__init__([parent=None])
Parameters:

父对象QObject

创建一个新的空密钥对,其中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来连接它。

privateKeyToByteArray(cipher, password)
Parameters:
  • cipherCipher

  • password – str

Return type:

QByteArray

返回PEM编码的私钥。如果没有私钥,则返回一个空的字节数组。

密钥的加密必须使用参数cipherpassword来指定。为了以未加密的方式存储密钥,必须使用Cipher::Unencrypted加密方式。

publicKeyToByteArray()
Return type:

QByteArray

返回公钥作为字节数组。

type()
Return type:

KeyType

返回当前键的类型。