在Windows的Qt项目中使用OpenSSL v1.1.1
我的Windows程序使用OpenSSL库通过HTTPS接收JSON数据 在QtVersion5.12.3中,使用了OpenSSL 1.0.2库,一切都很简单。 我只是把“c:\Qt\Qt5.12.3\Tools\mingw730\u 64\opt\bin\”(ssleay32.dll,libeay32.dll)中的文件放进去 将我的程序的可执行文件和一切工作(对于编译,我使用MinGW)放入文件夹中 现在随着Qt5.14.1出现了OpenSSL 1.1.1d,我不知道如何将它连接到我的程序,以便QNetworkAccessManager 终于开始工作了。库“ssleay32.dll”、“libeay32.dll”版本1.1.1d根本不存在。 我试图将libcrypto-1_1.dll和libssl-1_1.dll库(从c:\Qt\Qt5.14.1\Tools\QtCreator\bin)放入我的exe,但没有帮助 是的,它们是32位的,但我也尝试将我的项目编译为x32 代码在Windows的Qt项目中使用OpenSSL v1.1.1,windows,qt,openssl,qt5,mingw,Windows,Qt,Openssl,Qt5,Mingw,我的Windows程序使用OpenSSL库通过HTTPS接收JSON数据 在QtVersion5.12.3中,使用了OpenSSL 1.0.2库,一切都很简单。 我只是把“c:\Qt\Qt5.12.3\Tools\mingw730\u 64\opt\bin\”(ssleay32.dll,libeay32.dll)中的文件放进去 将我的程序的可执行文件和一切工作(对于编译,我使用MinGW)放入文件夹中 现在随着Qt5.14.1出现了OpenSSL 1.1.1d,我不知道如何将它连接到我的程序,以
qDebug () << QSslSocket :: supportsSsl () << QSslSocket :: sslLibraryBuildVersionString () << QSslSocket :: sslLibraryVersionString ();
所以。。对于Windows 10,是否可以将Qt项目连接到OpenSSL v1.1.1d-
没有重新编译Qt和没有编译OpenSSL库???我遇到了与您相同的问题。我认为这是OpenSSL的一个问题,直到我读到之前,我将vccorlib140.dll和vcruntime140.dll复制到我的程序目录中,一切正常。我们的预编译版本的Qt是根据比Qt安装程序本身作为dll提供的更新版本的OpenSSL构建的。虽然这在我的机器上是正常的,但当部署在干净的Windows 10上时,它无法加载,并且应用程序报告TLS错误。相反,我得到了一个更新的OpenSSL库集,这似乎是可行的 为了验证这一点,由于我没有访问客户端机器的权限,我使用Hyper-V和Microsoft自己提供的Windows 10 Professional映像运行了一个VM。我看到了问题所在,一旦我用最新的DLL重写了libcrypto和libssl DLL,应用程序就开始正常工作
- 预编译的OpenSSL库:
- 导致我得出这一结论的关键讨论:
false "OpenSSL 1.1.1d 10 Sep 2019" ""