- class QSsl#
The 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作为'黑盒'处理的密钥。
未知密钥功能允许应用程序支持像PKCS#11这样的设施,Qt目前尚未提供原生的支持。
- class AlternativeNameEntryType#
描述QSslCertificate中替代名称条目的密钥类型。
常量
描述
QSsl.EmailEntry
电子邮件条目;条目包含证书有效的电子邮件地址。
QSsl.DnsEntry
域名主机名条目;条目包含证书有效的域名。条目可能包含通配符。
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
禁用将 SSL 会话存储为 ASN.1 格式,如由
sessionTicket()
返回。启用此功能会为每个使用的会话票据增加大约 1K 的内存开销。QSsl.SslOptionDisableServerCipherPreference
禁用根据服务器偏好选择密钥而不是客户端发送密钥顺序选择密钥。此选项仅适用于服务器套接字,并且只为 OpenSSL 后端所尊重。
默认情况下,SslOptionDisableEmptyFragments 被打开,因为这会导致大量服务器出现问题。SslOptionDisableLegacyRenegotiation 也被打开,因为它引入了安全风险。SslOptionDisableCompression 被打开以防止 CRIME 公布的攻击。SslOptionDisableSessionPersistence 被打开以优化内存使用。其他选项被关闭。
注意
上述选项的可用性取决于使用的 SSL 后端版本。
- class AlertLevel#
描述警报消息的级别
此枚举描述已发送或接收的警报消息的级别。
常量
描述
QSslSocket.AlertLevel.Warning
非致命警报消息
QSslSocket.AlertLevel.Fatal
致命警报消息,底层后端将正确处理此类警报并关闭连接。
QSslSocket.AlertLevel.Unknown
级别未知的警报
- class AlertType#
列出警报消息可能具有的可能代码
请参阅 RFC 8446 的第 6 部分,了解可能的值及其含义。
常量
描述
QSslSocket.AlertType.CloseNotify
,
QSslSocket.AlertType.UnexpectedMessage
QSslSocket.AlertType.BadRecordMac
QSslSocket.AlertType.RecordOverflow
QSslSocket.AlertType.DecompressionFailure
QSslSocket.AlertType.HandshakeFailure
QSslSocket.AlertType.NoCertificate
QSslSocket.AlertType.BadCertificate
QSslSocket.AlertType.UnsupportedCertificate
QSslSocket.AlertType.CertificateRevoked
QSslSocket.AlertType.CertificateExpired
QSslSocket.AlertType.CertificateUnknown
QSslSocket.AlertType.IllegalParameter
QSslSocket.AlertType.UnknownCa
QSslSocket.AlertType.AccessDenied
QSslSocket.AlertType.DecodeError
QSslSocket.AlertType.DecryptError
QSslSocket.AlertType.ExportRestriction
QSslSocket.AlertType.ProtocolVersion
QSslSocket.AlertType.InsufficientSecurity
QSslSocket.AlertType.InternalError
QSslSocket.AlertType.InappropriateFallback
QSslSocket.AlertType.UserCancelled
QSslSocket.AlertType.NoRenegotiation
QSslSocket.AlertType.MissingExtension
QSslSocket.AlertType UnsupportedExtension
QSslSocket.AlertType.CertificateUnobtainable
QSslSocket.AlertType.UnrecognizedName
QSslSocket.AlertType.BadCertificateStatusResponse
QSslSocket.AlertType.BadCertificateHashValue
QSslSocket.AlertType.UnknownPskIdentity
QSslSocket AlertType.CertificateRequired
QSslSocket_alertType.NoApplicationProtocol
QSslSocket_alertType(UnknownAlertMessage
- class ImplementedClass#
列举了TLS后端实现的类
在 QtNetwork 中,一些类有后端特定的实现,因此可以被省略不实现。这个枚举中的枚举项表示,哪个类在后端中有一个正常的工作实现。
常量
描述
QSslSocket.ImplementedClass.Key
类
QSslKey
。QSslSocket.ImplementedClass.Certificate
QSslSocket.ImplementedClass.Socket
类
QSslSocket
。QSslSocket.ImplementedClass.DiffieHellman
QSslSocket.ImplementedClass.EllipticCurve
QSslSocket.ImplementedClass.Dtls
类
QDtls
。QSslSocket.ImplementedClass.DtlsCookie
自版本 6.1 新增。
- class SupportedFeature#
列举了TLS后端支持的可能的特性
在 QtNetwork 中,TLS相关的类有公共API,某些后端可能省略实现,例如,我们的SecureTransport后端不支持服务器端ALPN。从这个SupportedFeature枚举的枚举项中可以判断特定的特性是否受支持。
常量
描述
QSslSocket.SupportedFeature.CertificateVerification
表示后端实现了
verify()
。QSslSocket.SupportedFeature.ClientSideAlpn
客户端ALPN(应用层协议协商)。
QSslSocket.SupportedFeature.ServerSideAlpn
服务器端ALPN。
QSslSocket.SupportedFeature.Ocsp
OCSP端叠(在线证书状态协议)。
QSslSocket.SupportedFeature.Psk
预共享密钥。
QSslSocket.SupportedFeature.SessionTicket
会话票据。
QSslSocket.SupportedFeature.Alerts
发送和接收的警报信息。
自版本 6.1 新增。