StupidBeauty
Read times:3068Posted at: - no title specified

Qt5.7文档翻译:QSsl命名空间,QSsl Namespace

QSsl 命名空间,声明 的是那些被Qt 网络(Network)模块 中的SSL 类共用的枚举量。 详细说明……

头文件:

#include <QSsl>

qmake指令

QT += network

自此版本开始引入:

Qt 4.3

详细说明

QSsl 命名空间,声明 的是那些被Qt 网络(Network)模块 中的SSL 类共用的枚举量。

类型文档

enum QSsl::SslOption
flags QSsl::SslOptions

此枚举,描述的是一些控制着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)组合。

enum QSsl::SslProtocol

描述的是加密算法中的协议。

常量

说明

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

?

这个套接字理解SSLv2SSLv3TLSv1.0。这个值只会被 QSslSocket 使用。

QSsl::TlsV1SslV3

?

在客户端一侧,这个选项会导致发送一个TLS 1.0 Client Hello数据包,以启用TLSv1_0SSLv3连接。在服务器一侧,会同时启用SSLv3 和TLSv1_0 连接。

QSsl::SecureProtocols

?

默认选项,使用那些已知安全的协议;目前,其行为类似于TlsV1Ssl3,唯一的不同就是,会拒绝那些不升级到TLS 的SSLv3 连接。

注意 大部分服务器都同时能够理解SSLTLS,但是,出于安全性方面的考虑,建议只使用TLS。然而,SSLTLS互相之间并不兼容:如果妳遇到了握手失败的情况,那么,确认一下妳是否选择了正确的协议。

未知美人

雅卿

雅卿

Your opinions
Your name:Email:Website url:Opinion content: