您现在的位置是:首页 >技术教程 >Linux下解决QT访问https时ssl不支持问题,qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization fa网站首页技术教程
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
本人是这样成功了,如果对你有帮助给个赞,谢谢