PySide6.QtNetwork.QSsl

class QSsl

QSsl 命名空间声明了 Qt Network 中所有 SSL 类共用的枚举类型。更多

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

class KeyType

描述了QSslKey支持的两种类型的密钥。

常量

描述

QSsl.PrivateKey

一个私钥。

QSsl.PublicKey

一个公钥。

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

QSslDiffieHellmanParameters

QSsl.ImplementedClass.EllipticCurve

QSslEllipticCurve

QSsl.ImplementedClass.Dtls

QDtls .

QSsl.ImplementedClass.DtlsCookie

QDtlsClientVerifier .

在版本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中添加。