Qt 提示 error creating ssl context()的一种解决方式
问题
项目中使用https进行用户登录,软件在客户电脑上会出现 error creating ssl context()的问题。
排查
考虑到在测试环境使用正常,客户机部分电脑无法使用,部分电脑正常等原因,可能是windows系统缺少openssl的原因,后在项目中增加了判断,内容如下:
if (!QSslSocket::supportsSsl()) {
QMessageBox::information(NULL, "warning", "notSupportsSsl", QMessageBox::Yes);
}
经在客户环境下测试确认了是这个原因。
解决方案
下载了OpenSSL并安装到系统中:
Win32/Win64 OpenSSL Screenshot下载地址
在安装时需要注意要复制到windows system directory,其他安装选择默认即可。安装后将bin目录中的libssl-1_1-x64.dll和libcrypto-1_1-x64.dll放到exe同级目录即可.(部分版本为libeay32.dll和ssleay32.dll)
注意
使用
QSslSocket::sslLibraryBuildVersionString()
查看使用的ssl版本,我的是
在官网中下载对应的版本


浙公网安备 33010602011771号