首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Windows项目中使用OpenSSL v1.1.1

在Windows项目中使用OpenSSL v1.1.1
EN

Stack Overflow用户
提问于 2020-03-24 09:26:22
回答 2查看 1.2K关注 0票数 1

我的Windows程序使用OpenSSL库接收HTTPS的JSON数据。

在Qt版本5.12.3中,使用了OpenSSL 1.0.2库,它使一切变得简单简单。我只是将来自"c:\ Qt \ Qt5.12.3 \ Tools \ mingw730_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。

密码

代码语言:javascript
运行
复制
qDebug () << QSslSocket :: supportsSsl () << QSslSocket :: sslLibraryBuildVersionString () << QSslSocket :: sslLibraryVersionString ();

返回

代码语言:javascript
运行
复制
false "OpenSSL 1.1.1d 10 Sep 2019" ""

所以..。对于Windows 10,是否可以将Qt -项目连接到OpenSSL v1.1.1d -,而无需编译 OpenSSL库而不重新编译Qt和

EN

回答 2

Stack Overflow用户

发布于 2020-12-31 13:36:29

我们所拥有的Qt预编译版本是针对较新版本的OpenSSL构建的,而不是Qt安装程序本身作为DLL提供的版本。虽然这在我的机器上是正常的,当部署在干净的Windows 10上时,它无法加载并且应用程序报告TLS错误。相反,我得到了一个最新的OpenSSL库集,这似乎是可行的。

为了验证这一点,由于我没有访问客户端机器的权限,我使用Hyper-V和Microsoft自己提供的Windows 10 Professional映像运行了一个VM。我在那里看到了问题,一旦我用最近的版本覆盖了libcrypto和libssl DLL,这个应用程序就开始正常工作了。

票数 1
EN

Stack Overflow用户

发布于 2020-03-25 04:44:22

我遇到了和你一样的问题。我认为这是OpenSSL的一个问题,在我阅读Qt for Windows -部署之前,我将vccorlib140.dll和vcruntime140.dll复制到我的程序目录中,一切都很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60828174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档