Qt5.12.0 / Qt5.12.5 请求 https 资源提示 TLS initialization failed

一、Qt5.12.0 请求 https 资源提示 TLS 初始化失败

1. 首选需要找到缺失的 libea32.dll 和 ssleay32.dll 两个库:

【注】

确保 QT 版本 与 libea32.dll 和 ssleay32.dll 库的版本一致,方法如下,查看 QT 依赖版本:

QString N1 = QSslSocket::supportsSsl();
QString N2 = QSslSocket::sslLibraryBuildVersionString();
QString N3 = QSslSocket::sslLibraryVersionString();

2. 在 QT 安装目录下油锅 Tools 文件夹,能找到这两个文件,具体路径:

F:\Qt\Tools\mingw530_32\opt\bin  // 请以自己电脑的安装路径为准,将文件复制到应用程序同级目录

二、Qt5.12.5 请求 https 资源提示 TLS 初始化失败

Qt 本身是不支持 https 的,需要链接 libea32.dll 和 ssleay32.dll 两个库,Qt5.12.5 链接的 openssl 库是 1.1.1b 版本的,当前项目使用的是 1.0.2r 版本,两个版本差距较大,1.1.1之后的版本动态库名称都已经改变了,此情况下有两种方法可以解决:

1、回退 Qt 版本到 5.12.2 或之前,此版本链接的还是 1.0.2 系列的,可以匹配当前的 openssl 库;

2、升级 openssl 库版本到最新,获取 libcrypto-1_1-x64.dll 与  libssl-1_1-x64.dll,且复制到应用程序同级目录;

下载网址:https://download.csdn.net/download/learnlhc/11866052

发布了87 篇原创文章 · 获赞 46 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/LearnLHC/article/details/102565566