以下类为使用 SSL (安全套接字层) 协议进行安全网络通信提供支持,使用 OpenSSL 工具包 去履行加密和协议处理。
从 Qt 5.6 版起,官方支持的 OpenSSL 版本是 1.0.0 或更高。
QDtlsClientVerifier::GeneratorParameters | 此类定义用于 DTLS Cookie 生成器的参数 |
QDtls | 此类为 UDP (用户数据报协议) 套接字提供加密 |
QDtlsClientVerifier | 此类实现服务器侧 DTLS Cookie 的生成和验证 |
QDtls::HandshakeState | 描述 DTLS 握手的当前状态 |
QDtlsError | 描述通过 QDtls 和 QDtlsClientVerifier 发现的错误 |
QSsl | 声明 Qt Network 中所有 SSL 类公用的枚举 |
QSslCertificate | 用于 X509 证书的便捷 API |
QSslCertificateExtension | 用于访问 X509 证书扩展名的 API |
QSslCipher | 表示 SSL 加密密码 |
QSslConfiguration | 保持 SSL 连接的配置和状态 |
QSslDiffieHellmanParameters | 用于服务器的 Diffie-Hellman 参数的接口 |
QSslEllipticCurve | 表示供椭圆曲线密码算法使用的椭圆曲线 |
QSslError | SSL 错误 |
QSslKey | 用于私钥和公钥的接口 |
QSslPreSharedKeyAuthenticator | 用于 PSK (预共享密钥) 密码套件的身份验证数据 |
QSslSocket | 用于客户端和服务器两者的 SSL 加密套接字 |
当从源代码构建 Qt 时,配置系统会检查是否存在
openssl/opensslv.h
由 OpenSSL 源代码 (或开发者包) 提供的 Header (头)。
默认情况下,启用 SSL 的 Qt 库在运行时会动态加载任何已安装的 OpenSSL 库。无论如何,在编译时链接到库是可能的,通过配置 Qt 采用
-openssl-linked
选项。
当构建链接到 OpenSSL 的 Qt 版本时,构建系统会尝试链接 libssl 和 libcrypt 库 (位于开发者的系统默认位置)。此位置是可配置的:设置
OPENSSL_LIBDIR
command line argument. For example, on Unix/Linux system:
./configure -openssl-linked OPENSSL_LIBDIR=/usr/local/ssl
要禁用 SSL 支持在 Qt 构建中,配置 Qt 采用
-no-openssl
选项。
DTLS (安全数据报传输层) 是为基于数据报的应用程序,提供防窃听、防篡改或防消息伪造保护的一种安全协议。DTLS 协议基于面向流的 TLS (传输层安全) 协议。 QtNetwork 使能够使用采用 UDP (用户数据报协议) 的 DTLS,作为定义通过 RFC 6347 .
由于世界上某些地区的进出口限定,所以,我们无法提供带 Qt 包的 OpenSSL 工具包。希望在部署应用程序中使用 SSL 通信的开发者应确保用户有安装合适的库,或应适当咨询合格法律专业人员,以确保使用 OpenSSL 工程代码的应用程序在世界相关区域的进出口被正确认证。