一、QT环境介绍

windows下QT5.12.11

二、出现错误

使用QNetworkAccessManager报错: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization faile

三、查看当前环境openssl支持情况

输出当前QT支持的openSSL版本以及判断系统是否支持OpenSSL

qDebug()<<"QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();
qDebug() << "OpenSSL支持情况:" << QSslSocket::supportsSsl();

结果:

如果此平台支持SSL,则返回true; 否则,返回false。如果平台不支持SSL,则套接字将在连接阶段失败。不支持就需要看下面的解决方法。

四、解决办法

openssl下载地址:http://slproweb.com/products/Win32OpenSSL.html

从这个下载地址上我没找到我想要的OpenSSL 1.1.1g版本, 我是从CSDN下载:【免费】openssl1.1.1g安装包资源-CSDN文库

将下载的安装包进行安装,安装到第二个选项时,选择安装到指定的/bin目录下

安装之后,找到安装目录下的两个文件(libcrypto-1_1-x64.dll 和libssl-1_1-x64.dll),拷贝到QT编译器目录下即可(E:\Qt\Qt5.12.11\5.12.11\mingw73_64\bin)。

结果:

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐