PySide6.QtNetwork.QSsl¶
- class QSsl¶
QSsl 命名空间声明了 Qt Network 中所有 SSL 类共用的枚举类型。更多…
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
- class EncodingFormat¶
描述支持的证书和密钥编码格式。
常量
描述
QSsl.Pem
PEM格式。
QSsl.Der
DER格式。
- class KeyAlgorithm¶
描述了
QSslKey支持的不同密钥算法。常量
描述
QSsl.Rsa
RSA算法。
QSsl.Dsa
DSA算法。
QSsl.Ec
椭圆曲线算法。
QSsl.Dh
Diffie-Hellman算法。
QSsl.Opaque
一个应该被
QSslKey视为“黑匣子”的密钥。不透明密钥设施允许应用程序添加对Qt目前未原生提供的设施(如PKCS#11)的支持。
- class AlternativeNameEntryType¶
描述了
QSslCertificate中替代名称条目的关键类型。常量
描述
QSsl.EmailEntry
电子邮件条目;该条目包含证书有效的电子邮件地址。
QSsl.DnsEntry
一个DNS主机名条目;该条目包含证书有效的主机名条目。该条目可能包含通配符。
QSsl.IpAddressEntry
一个IP地址条目;该条目包含证书有效的IP地址条目,于Qt 5.13中引入。
- class SslProtocol¶
描述加密的协议。
常量
描述
QSsl.TlsV1_0
TLSv1.0
QSsl.TlsV1_0OrLater
TLSv1.0 及更高版本。
QSsl.TlsV1_1
TLSv1.1。
QSsl.TlsV1_1OrLater
TLSv1.1 及更高版本。
QSsl.TlsV1_2
TLSv1.2。
QSsl.TlsV1_2OrLater
TLSv1.2 及更高版本。
QSsl.DtlsV1_0
DTLSv1.0
QSsl.DtlsV1_0OrLater
DTLSv1.0 及更高版本。
QSsl.DtlsV1_2
DTLSv1.2
QSsl.DtlsV1_2OrLater
DTLSv1.2 及更高版本。
QSsl.TlsV1_3
TLSv1.3。(自 Qt 5.12 起)
QSsl.TlsV1_3OrLater
TLSv1.3 及更高版本。(自 Qt 5.12 起)
QSsl.UnknownProtocol
无法确定加密协议的协议。
QSsl.AnyProtocol
任何支持的协议。此值仅由
QSslSocket使用。QSsl.SecureProtocols
默认选项,使用已知安全的协议。
- class SslOption¶
(继承自
enum.Flag) 描述可用于控制SSL行为细节的选项。这些选项通常用于关闭某些功能以解决有问题的服务器。常量
描述
QSsl.SslOptionDisableEmptyFragments
禁用在使用块密码时将空片段插入数据。启用时,这可以防止一些攻击(如BEAST攻击),但它与某些服务器不兼容。
QSsl.SslOptionDisableSessionTickets
禁用SSL会话票证扩展。这可能会导致连接设置变慢,但某些服务器与该扩展不兼容。
QSsl.SslOptionDisableCompression
禁用SSL压缩扩展。启用时,允许通过SSL传递的数据进行压缩,但某些服务器与此扩展不兼容。
QSsl.SslOptionDisableServerNameIndication
禁用SSL服务器名称指示扩展。启用时,这会告诉服务器正在访问的虚拟主机,使其能够使用正确的证书进行响应。
QSsl.SslOptionDisableLegacyRenegotiation
禁用旧的不安全机制以重新协商连接参数。启用此选项后,可以允许与旧版服务器建立连接,但这也引入了攻击者可能将明文注入SSL会话的可能性。
QSsl.SslOptionDisableSessionSharing
禁用通过会话ID握手属性进行的SSL会话共享。
QSsl.SslOptionDisableSessionPersistence
禁用以ASN.1格式存储SSL会话,如
sessionTicket()返回的那样。启用此功能会增加每个使用的会话票证大约1K的内存开销。QSsl.SslOptionDisableServerCipherPreference
禁用根据服务器的偏好选择密码,而不是客户端发送的密码顺序。此选项仅适用于服务器套接字,并且仅由OpenSSL后端支持。
默认情况下,SslOptionDisableEmptyFragments 是开启的,因为这会导致大量服务器出现问题。SslOptionDisableLegacyRenegotiation 也是开启的,因为它引入了安全风险。SslOptionDisableCompression 是开启的,以防止 CRIME 公开的攻击。SslOptionDisableSessionPersistence 是开启的,以优化内存使用。其他选项是关闭的。
注意
上述选项的可用性取决于所使用的SSL后端的版本。
- class AlertLevel¶
描述警报消息的级别
此枚举描述了发送或接收的警报消息的级别。
常量
描述
QSsl.AlertLevel.Warning
非致命的警告信息
QSsl.AlertLevel.Fatal
致命警报消息,底层后端将正确处理此类警报并关闭连接。
QSsl.AlertLevel.Unknown
未知严重级别的警报。
- class AlertType¶
列举警报消息可能具有的代码
请参阅RFC 8446,第6节,了解可能的值及其含义。
常量
描述
QSsl.AlertType.CloseNotify
,
QSsl.AlertType.UnexpectedMessage
QSsl.AlertType.BadRecordMac
QSsl.AlertType.RecordOverflow
QSsl.AlertType.DecompressionFailure
QSsl.AlertType.HandshakeFailure
QSsl.AlertType.NoCertificate
QSsl.AlertType.BadCertificate
QSsl.AlertType.UnsupportedCertificate
QSsl.AlertType.CertificateRevoked
QSsl.AlertType.CertificateExpired
QSsl.AlertType.CertificateUnknown
QSsl.AlertType.IllegalParameter
QSsl.AlertType.UnknownCa
QSsl.AlertType.AccessDenied
QSsl.AlertType.DecodeError
QSsl.AlertType.DecryptError
QSsl.AlertType.ExportRestriction
QSsl.AlertType.ProtocolVersion
QSsl.AlertType.安全性不足
QSsl.AlertType.InternalError
QSsl.AlertType.InappropriateFallback
QSsl.AlertType.UserCancelled
QSsl.AlertType.NoRenegotiation
QSsl.AlertType.MissingExtension
QSsl.AlertType.UnsupportedExtension
QSsl.AlertType.CertificateUnobtainable
QSsl.AlertType.UnrecognizedName
QSsl.AlertType.BadCertificateStatusResponse
QSsl.AlertType.BadCertificateHashValue
QSsl.AlertType.UnknownPskIdentity
QSsl.AlertType.CertificateRequired
QSsl.AlertType.NoApplicationProtocol
QSsl.AlertType.UnknownAlertMessage
- class ImplementedClass¶
枚举TLS后端实现的类
在QtNetwork中,一些类具有特定于后端的实现,因此可以不被实现。此枚举中的枚举器指示哪些类在后端中有可用的实现。
常量
描述
QSsl.ImplementedClass.Key
类
QSslKey.QSsl.实现的类.证书
类
QSslCertificate.QSsl.ImplementedClass.Socket
类
QSslSocket。QSsl.ImplementedClass.DiffieHellman
QSsl.ImplementedClass.EllipticCurve
QSsl.ImplementedClass.Dtls
类
QDtls.QSsl.ImplementedClass.DtlsCookie
在版本6.1中添加。
- class SupportedFeature¶
枚举TLS后端可能支持的功能
在QtNetwork中,与TLS相关的类具有公共API,这些API可能未被某些后端实现,例如,我们的SecureTransport后端不支持服务器端的ALPN。来自SupportedFeature枚举的枚举器指示特定功能是否受支持。
常量
描述
QSsl.SupportedFeature.CertificateVerification
表示后端实现了
verify()。QSsl.SupportedFeature.ClientSideAlpn
客户端 ALPN(应用层协议协商)。
QSsl.SupportedFeature.ServerSideAlpn
服务器端ALPN。
QSsl.SupportedFeature.Ocsp
OCSP 装订(在线证书状态协议)。
QSsl.SupportedFeature.Psk
预共享密钥。
QSsl.SupportedFeature.SessionTicket
会话票据。
QSsl.SupportedFeature.Alerts
关于发送和接收的警报消息的信息。
在版本6.1中添加。