SSL (安全套接字层) 类

以下类为使用 SSL (安全套接字层) 协议进行安全网络通信提供支持,使用 OpenSSL 工具包 去履行加密和协议处理。

从 Qt 5.6 版起,官方支持的 OpenSSL 版本是 1.0.0 或更高。

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 加密套接字

启用和禁用 SSL 支持

当从源代码构建 Qt 时,配置系统会检查是否存在 openssl/opensslv.h 由 OpenSSL 源代码 (或开发者包) 提供的 Header (头)。

默认情况下,启用 SSL 的 Qt 库在运行时会动态加载任何已安装的 OpenSSL 库。无论如何,在编译时链接到库是可能的,通过配置 Qt 采用 -openssl-linked 选项。

当构建链接到 OpenSSL 的 Qt 版本时,构建系统会尝试链接 libssl 和 libcrypt 库 (位于开发者的系统默认位置)。此位置是可配置的:设置 OPENSSL_LIBS 环境变量以包含把 Qt 链接到已安装库所需的链接器选项。例如,在 Unix/Linux 系统:

OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
					

要禁用 SSL 支持在 Qt 构建中,配置 Qt 采用 -no-openssl 选项。

进出口限定

由于世界上某些地区的进出口限定,所以,我们无法提供带 Qt 包的 OpenSSL 工具包。希望在部署应用程序中使用 SSL 通信的开发者应确保用户有安装合适的库,或应适当咨询合格法律专业人员,以确保使用 OpenSSL 工程代码的应用程序在世界相关区域的进出口被正确认证。