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库添加到发布程序中。

相关推荐
白帽攻防录6 分钟前
SRC 挖洞:QUIC 协议栈双 RCE,HTTP/3 的新攻击面怎么挖
网络·网络协议·http·网络安全·http/3
墨云安全9 分钟前
AI 漏洞挖掘平台怎么评估?2026 年技术架构与选型要点
网络·人工智能·网络安全·架构·渗透测试
红姐跨境书27 分钟前
TikTok 爬虫实战指南:避开 TikTok 反爬机制的 7个坑
网络
隐擎fox31 分钟前
Linux eBPF 与 XDP 高性能网络出口架构:动态连接追踪、丢包诊断与住宅网关 QoS 调优实战
linux·网络·网络协议·tcp/ip·架构
Multipath7121 小时前
多链路聚合设备:助力智慧农业发展的网络基石——让农田网络不断连,让智能设备不失控
网络·网络协议·5g·udp·无人机
似是燕归来1 小时前
Rtthread OS 功能开发之 socket udp协议程序开发
网络·stm32·网络协议·udp·socket·rtthread
饿了吃洗衣凝珠1 小时前
red hot day1
网络
牧羊人.3331 小时前
自然语言处理基础 04|长短期记忆网络 LSTM
网络·人工智能·rnn·深度学习·学习·自然语言处理·lstm
lambo mercy1 小时前
Day4:流式传输
运维·服务器·网络
ESDWAN2 小时前
跨境网络延迟、抖动和丢包有什么区别?如何判断业务影响
开发语言·网络·计算机网络·php