Qt 5.13.2 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed

我遇到的问题是在QT5.7下Qt Creator可以的,但是装了Qt 5.13.2(5.14.0) 在Qt Creator下编译运行不行。

qDebug看下

qDebug() << QSslSocket::supportsSsl() << QSslSocket::sslLibraryBuildVersionString() << QSslSocket::sslLibraryVersionString();

看到这个说明OK

true "OpenSSL 1.1.1b 26 Feb 2019" "OpenSSL 1.1.1c 28 May 2019"

看到如下

false "OpenSSL 1.1.1b 26 Feb 2019"

您遇到问题和我一样,以下可能适合你

解决办法是根据自己的构建环境,把\Qt\Qt5.13.2\Tools\QtCreator\bin libssl-1_1.dll和libcrypto-1_1.dll两个文件 复制到 相应的\Qt\Qt5.13.2\5.13.2\mingw73_32\bin目录下,, 发布的时候注意要复制到可执行文件夹中。

那么问题又来了,64位的怎么办,办法是有的,

去网站https://slproweb.com/products/Win32OpenSSL.html

下载相应的版本,我下载的是如下版本Win64OpenSSL-1_1_1d.exe

https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe

安装过程中选择库文件目录,我选择的安装到软件目录

最后捐助不要勾选任何就可以了

把\OpenSSL-Win64\bin libcrypto-1_1-x64.dll和libssl-1_1-x64.dlll两个文件 复制到 相应的\Qt\Qt5.13.2\5.13.2\mingw73_64\bin目录下

最后发布软件的时候,也需要把这两个文件复制到可执行文件同目录下。

附上已经打包好的文件,免安装了,解压使用,直接拿去使用吧。

参考:https://blog.csdn.net/lanxiaziyi/article/details/98760827

www.mamicode.com/info-detail-2895440.html

http://www.luyixian.cn/news_show_252661.aspx

https://www.cnblogs.com/fancyop/p/qt_ssl_q.html

posted on 2020-04-02 10:25  katago  阅读(2103)  评论(0编辑  收藏  举报