Qt5.7文档翻译:QSsl命名空间,QSsl Namespace
QSsl 命名空间,声明 的是那些被Qt 网络(Network)模块 中的SSL 类共用的枚举量。 详细说明……
头文件: |
#include <QSsl> |
qmake指令: |
QT += network |
自此版本开始引入: |
Qt 4.3 |
QSsl 命名空间,声明 的是那些被Qt 网络(Network)模块 中的SSL 类共用的枚举量。
此枚举,描述的是一些控制着SSL 行为中细节的选项。这些选项,一般用于关掉某些特性,以兼容那些有问题的服务器。
常量 |
值 |
说明 |
QSsl::SslOptionDisableEmptyFragments |
0x01 |
禁止在使用块加密算法时向数据中插入空白片断。在启用这个选项的情况下,能够阻止某些攻击行为(例如BEAST攻击),但是,它与某些服务器不兼容。 |
QSsl::SslOptionDisableSessionTickets |
0x02 |
禁用SSL的会话票据(session ticket)扩展。禁用了之后可能会导致连接的建立过程变慢,但是某些服务器就是不兼容这个扩展。 |
QSsl::SslOptionDisableCompression |
0x04 |
禁用SSL的压缩扩展。启用之后,通过SSL 传送的数据就会被压缩,然而,某些服务器并不兼容这个扩展。 |
QSsl::SslOptionDisableServerNameIndication |
0x08 |
禁用SSL的服务器名字指示扩展。在启用的情况下,会向服务器告知当前要访问的虚拟主机名字,使得 服务器能够回复正确的证书。 |
QSsl::SslOptionDisableLegacyRenegotiation |
0x10 |
禁用古老的不安全的对连接参数进行重新协商的机制。启用这个选项的话,就可以连接到传统的服务器,但是,攻击者就有可能向SSL 会话中播放纯文本内容。 |
QSsl::SslOptionDisableSessionSharing |
0x20 |
禁止通过会话编号(ID)这个握手属性来进行SSL 会话共享。 |
QSsl::SslOptionDisableSessionPersistence |
0x40 |
禁止将 QSslConfiguration::sessionTicket ()返回的SSL 会话以ASN.1 格式储存起来。启用这个特性的话,会导致,每个被使用的会话票据中,增加大约1K 的内存开销。 |
QSsl::SslOptionDisableServerCipherPreference |
0x80 |
禁止按照服务器的优先级列表来选择加密算法,而按照客户端发送的优先级列表来选择。这个选项,只与服务器套接字相关,并且只被OpenSSL 后端所支持。 |
默认情况下,SslOptionDisableEmptyFragments选项是启用状态的,因为,它会引起一大砣服务器出现问题。SslOptionDisableLegacyRenegotiation也是启用状态的,因为它会引起安全风险。SslOptionDisableCompression是启用状态的,以阻止由CRIME 所说明的攻击行为。SslOptionDisableSessionPersistence是启用状态的,以优化内存使用。其它选项都处于关闭状态。
注意 : 以上选项具体是否可用,取决于实际所使用的SSL 后端。
SslOptions 类型是 QFlags <SslOption>的类型定义(typedef)。 它存储的是不同SslOption 值的逻辑或(OR)组合。
描述的是加密算法中的协议。
常量 |
值 |
说明 |
QSsl::SslV3 |
0 |
SSLv3 |
QSsl::SslV2 |
1 |
SSLv2 |
QSsl::TlsV1_0 |
2 |
TLSv1.0 |
QSsl::TlsV1_0OrLater |
? |
TLSv1.0及更高版本。 |
QSsl::TlsV1 |
TlsV1_0 |
已废弃,等价于TlsV1_0 |
QSsl::TlsV1_1 |
? |
TLSv1.1 |
QSsl::TlsV1_1OrLater |
? |
TLSv1.1及更高版本。 |
QSsl::TlsV1_2 |
? |
TLSv1.2 |
QSsl::TlsV1_2OrLater |
? |
TLSv1.2及更高版本。 |
QSsl::UnknownProtocol |
-1 |
加密算法的协议无法被确认。 |
QSsl::AnyProtocol |
? |
这个套接字理解SSLv2、SSLv3和TLSv1.0。这个值只会被 QSslSocket 使用。 |
QSsl::TlsV1SslV3 |
? |
在客户端一侧,这个选项会导致发送一个TLS 1.0 Client Hello数据包,以启用TLSv1_0和SSLv3连接。在服务器一侧,会同时启用SSLv3 和TLSv1_0 连接。 |
QSsl::SecureProtocols |
? |
默认选项,使用那些已知安全的协议;目前,其行为类似于TlsV1Ssl3,唯一的不同就是,会拒绝那些不升级到TLS 的SSLv3 连接。 |
注意 : 大部分服务器都同时能够理解SSL和TLS,但是,出于安全性方面的考虑,建议只使用TLS。然而,SSL和TLS互相之间并不兼容:如果妳遇到了握手失败的情况,那么,确认一下妳是否选择了正确的协议。
未知美人
雅卿
雅卿
Your opinionsHxLauncher: Launch Android applications by voice commands