QT TLS initialization failed

qt使用QNetworkAccessManager下载文件(给出的链接可以在浏览器里面下载文件),下载失败, 提示"TLS

initialization

failed"通常是由于Qt在使用HTTPS进行文件下载时,未能正确初始化TLS(安全传输层协议)连接。这个问题通常与SSL/TLS库的配置有关。

背景:win11+qt5

解决这个问题需要依次检查以下几点是否有做到:

1. 确保系统安装了最新版本的Open SSL库

QT通常依赖于系统的openssl库来处理SSL/TLS连连接。

检验系统是否安装了openssl库,打开cmd,输入openssl version 查看版本 或者 where openssl查看命令出处。这种一般是加了path的,但是观察下来都是其他软件顺带用到的,而我们的程序需要的ssl的库是找不到的。

2. 确保使用的qt库不要太旧

较旧的qt版本可能存在SSL/TLS相关bug。建议升级到新的qt版本。

3. 检查Qt项目配置

.pro文件中,配置了 QT += network

4. 配置openssl库文件

拷贝openssl的dll 文件到你得可执行文件目录。(libssl-1_1.dll,libcrypto-1_1.dll,libssl-3-x64.dll,libcrypto-3-x64.dll)

5. 启用证书验证

如果你得代码中禁用了证书验证(如使用了QSslSocket::VerifyNone),尝试启用验证。

相关推荐
m0_726365831 天前
哈希分分预测系统 打造自适应趋势分析「Python+DeepSeek+PyQt5」
python·qt·哈希算法
new_zhou1 天前
vs2019+qt工程中生成dump文件及调试
开发语言·qt·visual studio·dump调试
hqwest1 天前
码上通QT实战16--监控页面08-连接后状态处理
qt·串口·信号与槽·serialport·通信过程·打开串口·com1
hqwest1 天前
码上通QT实战15--监控页面07-打开串口连接
开发语言·qt·多线程·signal·slot·emit·信号和槽
CS Beginner1 天前
【单片机】嵌入式显示屏开发框架:QT、SDL、LVGL 深度解析
单片机·嵌入式硬件·qt
金色熊族1 天前
MV结构下设置Qt表格的代理(2)
c++·qt
Morwit1 天前
Qt qml创建c++类的单例对象
开发语言·c++·qt
YxVoyager1 天前
Qt C++ :QRegularExpression 正则表达式使用详解
c++·qt·正则表达式
qq_401700411 天前
QStackedLayout 实现遮罩层
qt
Larry_Yanan1 天前
Qt多进程(十一)Linux下socket通信
linux·开发语言·c++·qt