Qt之OpenSSL

SSL(Secure Socket Layer)安全套接层是广泛使用的网络安全协议。它是在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。

当QT使用get/post发送请求时,如果使用了https开头的网页,就需要用到SSL。如果缺少SSL库,则会导致请求发送中断,并提示以下错误:

复制代码
qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed.

这是由于QT只提供了SSL的静态链接库,而没有提供SSL的动态链接库,解决这个问题首先要知道当前QT支持的SSL库,然后添加相应的SSL库即可。

查看下是否支持SSL:

复制代码
qDebug() << "OpenSSL支持情况:" << QSslSocket::supportsSsl();    

返回的是false,表示当前没有安装ssl库。

解决办法如下:

首先查看当前QT支持的SSL版本及:

复制代码
qDebug()<<"QSslSocket支持的版本="<<QSslSocket::sslLibraryBuildVersionString();

点击下面的链接,并下载相应的版本(一般下载Win32 OpenSSL v1.1.1):

Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)

如果发布程序,需要将相应的ssl库添加到发布程序中。

相关推荐
艾佳者5 小时前
Cookie、Session、Token 三者核心区别(易懂版)
网络
松涛和鸣5 小时前
69、Linux字符设备驱动实战
linux·服务器·网络·arm开发·数据库·驱动开发
devmoon5 小时前
30秒一键连接Polkadot区块链网络和测试网
网络·web3·区块链·智能合约·polkadot
开开心心就好5 小时前
图片校正漂白工具永久免费,矫正实时预览
网络·人工智能·windows·计算机视觉·计算机外设·电脑·excel
AAAAA92405 小时前
物联网海外网络摄像头市场分析:技术、合规与商业模式新趋势
网络·物联网
“αβ”5 小时前
IP协议内容补充
服务器·网络·网络协议·tcp/ip·智能路由器·nat·ip协议
٩( 'ω' )و2605 小时前
linux网络--基础概念
linux·网络
果粒蹬i5 小时前
【HarmonyOS】鸿蒙应用开发实战指南:构建网络数据列表应用
网络·华为·harmonyos
开开心心_Every6 小时前
电脑网速加速工具,无线有线叠加网络
网络·游戏·微信·pdf·电脑·excel·语音识别
霍格沃兹测试学院-小舟畅学6 小时前
Playwright测试超时管理:全局与局部超时设置
运维·服务器·网络