您现在的位置是:首页 >技术教程 >Linux下解决QT访问https时ssl不支持问题,qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization fa网站首页技术教程

Linux下解决QT访问https时ssl不支持问题,qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization fa

开源盛世!! 2025-08-03 00:01:04
简介Linux下解决QT访问https时ssl不支持问题,qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization fa

本人使用的是Qt5.12.9版本如果不一样可以在qt代码执行
 qDebug()<<"QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();

查看自己qt需要哪个版本我的输出结果为QSslSocket= "OpenSSL 1.1.1d  10 Sep 2019"
知道版本号就可以去安装他了
1)# 克隆 OpenSSL 仓库执行

git clone https://github.com/openssl/openssl.git cd openssl

2)# 切换到所需的版本分支,这里以 OpenSSL 1.1.1 为例

git checkout OpenSSL_1_1_1-stable

3)# 配置编译选项

./config --prefix=/usr/local/openssl-1.1.1 shared

4)# 编译和安装

make -j4(觉得慢可以看vmware配置的核数,数字越大编译越快)

sudo make install

5)确保 LD_LIBRARY_PATH 环境变量包含新安装的 OpenSSL 库的路径

export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH


6)在pro文件加上路径
INCLUDEPATH += /usr/local/openssl-1.1.1/include

LIBS += -L/usr/local/openssl-1.1.1/lib -lssl -lcrypto

7)为了让这个环境变量在每次启动时都自动生效,可以将上述命令添加到 ~/.bashrc~/.zshrc 文件中:

echo 'export LD_LIBRARY_PATH=/usr/local/openssl-1.1.1/lib:$LD_LIBRARY_PATH' >> ~/.bashrc

source ~/.bashrc

本人是这样成功了,如果对你有帮助给个赞,谢谢

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。