PySide6.QtNetwork.QSslPreSharedKeyAuthenticator¶
- class QSslPreSharedKeyAuthenticator¶
QSslPreSharedKeyAuthenticator
类为预共享密钥(PSK)加密套件提供认证数据。更多…概要¶
方法¶
def
__init__()
def
identity()
def
identityHint()
def
__ne__()
def
__eq__()
def
preSharedKey()
def
setIdentity()
def
swap()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
QSslPreSharedKeyAuthenticator
类由 SSL 套接字使用,以在预共享密钥 (PSK) 加密套件中提供所需的认证数据。在PSK握手过程中,客户端必须派生一个密钥,该密钥必须与服务器上设置的密钥匹配。派生密钥的具体算法取决于应用程序;然而,为此目的,服务器可能会向客户端发送一个身份提示。然后,客户端使用此提示与其他信息(例如密码短语)结合来构建共享密钥。
QSslPreSharedKeyAuthenticator
为客户端应用程序提供了完成PSK握手的方法。客户端应用程序需要将一个槽连接到preSharedKeyAuthenticationRequired()
信号:socket.preSharedKeyAuthenticationRequired.connect( self.handlePreSharedKeyAuthentication)
信号携带了一个
QSslPreSharedKeyAuthenticator
对象,其中包含服务器发送给客户端的身份提示,并且必须填写相应的客户端身份和派生密钥:def handlePreSharedKeyAuthentication(self, authenticator): authenticator.setIdentity("My Qt App") key = deriveKey(authenticator.identityHint(), passphrase) authenticator.setPreSharedKey(key)
注意
PSK 加密套件仅在将 OpenSSL 1.0.1(或更高版本)用作 SSL 后端时支持。
- __init__()¶
构造一个默认的
QSslPreSharedKeyAuthenticator
对象。身份提示、身份和密钥将被初始化为空字节数组;身份和密钥的最大长度将被初始化为0。
- __init__(authenticator)
- Parameters:
构造一个
QSslPreSharedKeyAuthenticator
对象作为authenticator
的副本。另请参阅
operator=()
- identity()¶
- Return type:
返回PSK客户端身份。
另请参阅
- identityHint()¶
- Return type:
返回服务器提供的PSK身份提示。此提示的解释由应用程序决定。
- maximumIdentityLength()¶
- Return type:
整数
返回PSK客户端身份的最大长度,以字节为单位。
注意
可以设置一个长度大于maximumIdentityLength()的身份;在这种情况下,实际上只有前maximumIdentityLength()字节会被发送到服务器。
另请参阅
- maximumPreSharedKeyLength()¶
- Return type:
整数
返回预共享密钥的最大长度,以字节为单位。
注意
可以设置一个长度大于maximumPreSharedKeyLength()的密钥;在这种情况下,只有前maximumPreSharedKeyLength()字节会实际发送到服务器。
另请参阅
- __ne__(rhs)¶
- Parameters:
- Return type:
布尔
如果验证器对象
lhs
不等于rhs
,则返回true
;否则返回false
。- __eq__(rhs)¶
- Parameters:
- Return type:
布尔
如果验证器对象
lhs
等于rhs
,则返回true
;否则返回false
。两个认证器对象相等,当且仅当它们具有相同的身份提示、身份、预共享密钥、身份的最大长度和预共享密钥的最大长度。
- preSharedKey()¶
- Return type:
返回预共享密钥。
另请参阅
- setIdentity(identity)¶
- Parameters:
身份 –
QByteArray
将PSK客户端身份(将通知给服务器)设置为
identity
。注意
可以设置一个长度大于
maximumIdentityLength()
的身份;在这种情况下,只有前maximumIdentityLength()
字节会实际发送到服务器。- setPreSharedKey(preSharedKey)¶
- Parameters:
preSharedKey –
QByteArray
将预共享密钥设置为
preSharedKey
。注意
可以设置一个长度大于
maximumPreSharedKeyLength()
的密钥;在这种情况下,只有前maximumPreSharedKeyLength()
字节会实际发送到服务器。- swap(other)¶
- Parameters:
将
QSslPreSharedKeyAuthenticator
对象authenticator
与此对象交换。此操作非常快速且永远不会失败。