Secure Sockets Layer (SSL) Classes
下列类使用SSL协议提供安全的网络通信, 使用 OpenSSL Toolkit 提供加密和协议处理.
从Qt 5.6版开始, 官方支持的OpenSSL版本是1.0.0或更高版本.
Qt网络中所有SSL类的通用枚举类型 | |
X509证书的基础API | |
X509证书的扩展API | |
SSL加密密码 | |
保存SSL连接的配置和状态 | |
服务器中的Diffie-Hellman参数接口 | |
ECC算法中的椭圆曲线 | |
SSL错误 | |
私钥和公钥接口 | |
PSK密码身份验证数据 | |
C/S通用的SSL加密套接字 |
Enabling and Disabling SSL Support
从源码构建Qt时, 配置系统会检测是否存在由OpenSSL源码或开发包提供的 openssl/opensslv.h
.
默认情况下, 启用SSL的Qt库在运行时动态加载已安装的OpenSSL库. 但是, 使用 -openssl-linked
选项配置Qt, 可以在编译时链接库.
构建链接OpenSSL的Qt版本时, 构建系统尝试链接默认位置的libssl和libcrypt库. 这个默认位置通过环境变量 OPENSSL_LIBS
配置. Unix/Linux系统如下:
OPENSSL_LIBS='-L/opt/ssl/lib -lssl -lcrypto' ./configure -openssl-linked
在Qt构建时, 使用 -no-openssl
选项禁用SSL.
进出口限制
Qt二进制安装程序的QtNetwork模块使用OpenSSL库. 然而, Qt构建时不自动包含OpenSSL库. 在某些地区, 针对某类软件存在进出口限制. 开发人员希望在其应用程序中使用SSL通信, 因确保用户安装OpenSSL库, 或者咨询专业的法律人士, 取得正确的导入导出认证.