解决Qt5.12版本OpenSSL不能用问题: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization faile

转载:https://blog.csdn.net/xiaolong1126626497/article/details/105220160

一、系统环境介绍

windows下QT5.12

二、出现错误

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

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

    输出当前QT支持的openSSL版本

qDebug()<<"QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();
    判断系统是否支持OpenSSL
    如果此平台支持SSL,则返回true; 否则,返回false。 如果平台不支持SSL,则套接字将在连接阶段失败。不支持就需要看下面的解决方法。

  qDebug() << "OpenSSL支持情况:" << QSslSocket::supportsSsl();
四、解决办法

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

根据自己使用的QT编译器时32位还是64位,对应下载安装包。

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

安装之后,找到安装目录下的两个文件(libcrypto-1_1.dll 和libssl-1_1.dll),拷贝到QT编译器目录下即可(C:QtQt5.12.65.12.6mingw73_32in)。

原文地址:https://www.cnblogs.com/sagerking/p/14738816.html