qt集成openssl

第一:下載項目中對應版本的openssl的庫
https://openssl-library.org/source/old/1.0.2/ 老版本的openssl的下載地址,這個下載的好像是源碼,還要編譯。
https://indy.fulgan.com/SSL/
在這里下載不需要編譯,下載下來直接用dll文件。

第二:下載完庫,配置庫

Qt本身不包含OpenSSL庫,因此在使用需要SSL/TLS的功能時(如HTTPS請求),必須手動配置OpenSSL。

OpenSSL是第三方庫:Windows系統本身不包含OpenSSL,它是一個獨立的安全套接層協議實現。

Qt的SSL支持依賴OpenSSL:Qt的網絡模塊(QNetworkAccessManager)使用OpenSSL實現HTTPS等安全協議。

鏈接庫路徑和名稱

#LIBS += -L"C:/Users/Lenovo/Documents/build-HttpManager-Desktop_Qt_5_9_6_MinGW_32bit-Debug/debug" -lcrypto-1_1 -lssl-1_1
LIBS += -L"C:/Users/Lenovo/Documents/build-HttpManager-Desktop_Qt_5_9_6_MinGW_32bit-Release/release" -lcrypto-3 -lssl-3 -leay32 -lssleay32

上述別看鏈接了那么多庫,其實也就-leay32 -lssleay32有用,這兩個是我的qt工程中對應版本的openssl庫。 -lcrypto-3 -lssl-3在我的工程中版本不對應。

下面注掉了,開始想不下載openssl運行qt的https的示例程序,發現運行后 不能和服務端建立通訊。
#DEFINES += QT_USE_QSCHANNEL

第三:運行程序中驗證,如果配置正確會輸出是否支持SSL: true。看打印輸出我下載 配置的版本是1.0.2r。

// 添加 SSL 支持檢查
qDebug() << "Qt編譯時SSL版本:" << QSslSocket::sslLibraryBuildVersionString();
qDebug() << "當前運行時SSL版本:" << QSslSocket::sslLibraryVersionString();
qDebug() << "是否支持SSL:" << QSslSocket::supportsSsl();

//Qt編譯時SSL版本: “OpenSSL 1.0.2j 26 Sep 2016”
//當前運行時SSL版本: “OpenSSL 1.0.2r 26 Feb 2019”
//是否支持SSL: true

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/86122.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/86122.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/86122.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【鴻蒙HarmonyOS Next App實戰開發】??ArkUI時鐘界面實現解析:動態雙模式時鐘與沉浸式體驗?

在鴻蒙next系統上&#xff0c;通過ArkTS寫了個時鐘顯示頁面&#xff0c;集成在【圖影工具箱】應用中&#xff0c;應用商店可以下載使用。 這個頁面實現起來比較簡單&#xff0c;就是左邊一個模擬時鐘&#xff0c;右邊一個數字時鐘&#xff08;包含時間和日期的文字&#xff09…

ios簽名錯誤的解決辦法

另一種最常見的解決方案。在終端中運行以下命令。您應該添加自己的鑰匙串名稱和密碼。security lock-keychain temp.keychainsecurity unlock-keychain -pp ssw0rd temp.keychain在這種情況下&#xff0c;使用鑰匙串名稱為“temp”&#xff0c;其密碼為“p ssw0rd”。此外&am…

C#讀取OPCUA節點數據

本人第一次接觸OPCUA&#xff0c;如有不對的地方望指正&#xff0c;獲取的是公司的OPCUA服務器的數據 方式一&#xff1a; 測試環境: window11 vs2022 OPCFoundation.NetStandard.Opc.Ua .net framework 4.8 (2025-06-23 經過測試&#xff0c;.net8也可以使用這套.net …

OpenCV計算機視覺實戰(11)——邊緣檢測詳解

OpenCV計算機視覺實戰&#xff08;11&#xff09;——邊緣檢測詳解 0. 前言1. Sobel 算子與方向梯度1.1 Sobel 算子簡介1.2 實現過程 2. Laplacian 邊緣檢測2.1 Laplacian 算子簡介2.2 實現過程 3. Canny 算法3.1 Canny 算法簡介3.2 實現過程 小結系列鏈接 0. 前言 邊緣檢測能…

哈爾濱idc服務器租用-青蛙云

在數字化浪潮洶涌的當下&#xff0c;企業對于服務器的需求愈發強烈。哈爾濱作為東北地區重要的經濟文化中心&#xff0c;其 IDC 服務器租用市場也呈現出蓬勃發展的態勢。眾多企業在尋求 IDC 服務器租用時&#xff0c;青蛙云憑借自身顯著優勢脫穎而出&#xff0c;成為眾多用戶的…

Zephyr 系統深入解析:SoC 支持包結構與中斷調度器調優實踐

本文將全面深入講解 Zephyr RTOS 的 SoC 支持包設計架構&#xff08;SoC Series / SoC Variant&#xff09;、中斷系統實現、調度器原理、時間片與優先級調優技巧&#xff0c;以及如何在實際項目中構建自定義 SoC 支持包、實現高效的調度器策略和系統性能優化。全文超過 5000 字…

FPGA基礎 -- Verilog 結構建模之模塊參數值

Verilog 中模塊參數值&#xff08;parameter&#xff09;的使用&#xff0c;這是結構建模和模塊可配置設計的核心機制&#xff0c;廣泛應用于 總線寬度配置、流水線級數、功能開關、模塊復用 等場景。 一、什么是模塊參數值&#xff08;parameter&#xff09; parameter 是 Ver…

Skrill是什么?中國用戶能用嗎?安全嗎?完整指南

什么是Skrill&#xff1f; Skrill 前身為 Moneybookers&#xff0c;成立于 2001 年&#xff0c;總部位于英國倫敦&#xff0c;目前隸屬于 Paysafe 集團。作為一個多功能電子支付平臺&#xff0c;Skrill 支持全球 100 多個國家和地區、40 多種貨幣&#xff0c;被廣泛用于&#…

java+vue+SpringBoo校園部門資料管理系統(程序+數據庫+報告+部署教程+答辯指導)

源代碼數據庫LW文檔&#xff08;1萬字以上&#xff09;開題報告答辯稿ppt部署教程代碼講解代碼時間修改工具 技術實現 開發語言&#xff1a;后端&#xff1a;Java 前端&#xff1a;vue框架&#xff1a;springboot數據庫&#xff1a;mysql 開發工具 JDK版本&#xff1a;JDK1.…

Java中的Map實現類詳解

Java中的Map實現類詳解 Java集合框架提供了多種Map接口的實現&#xff0c;每種實現都有其特定的使用場景和特點。以下是主要的Map實現類及其特性分析&#xff1a; 1. 通用Map實現 HashMap 特點&#xff1a;基于哈希表的實現&#xff0c;允許null鍵和null值線程安全&#xf…

Pytorch Lightning 進階 1 - 梯度檢查點(Gradient Checkpointing)

梯度檢查點&#xff08;Gradient Checkpointing&#xff09;是一種在深度學習訓練中優化顯存使用的技術&#xff0c;尤其適用于處理大型模型&#xff08;如Transformer架構&#xff09;時顯存不足的情況。下面用簡單的例子解釋其工作原理和優缺點&#xff1a; 核心原理 深度學…

SpreadJS 迷你圖:數據趨勢可視化的利器

引言 在數據處理和分析領域&#xff0c;直觀地展示數據趨勢對于理解數據和做出決策至關重要。迷你圖作為一種簡潔而有效的數據可視化方式&#xff0c;在顯示數據趨勢方面發揮著重要作用&#xff0c;尤其在與他人共享數據時&#xff0c;能夠快速傳達關鍵信息。SpreadJS 作為一款…

GESP2024年12月認證C++一級( 第三部分編程題(1)溫度轉換)

參考程序1&#xff1a; #include <cstdio> using namespace std;int main() {double K;scanf("%lf", &K);double C K - 273.15; //轉換為攝氏溫度 double F 32 C * 1.8; //轉換為華氏溫度 if (F > 212) //條件判斷 print…

從零開始手寫redis(18)緩存淘汰算法 FIFO 優化

項目簡介 大家好&#xff0c;我是老馬。 Cache 用于實現一個可拓展的高性能本地緩存。 有人的地方&#xff0c;就有江湖。有高性能的地方&#xff0c;就有 cache。 v1.0.0 版本 以前的 FIFO 實現比較簡單&#xff0c;但是 queue 循環一遍刪除的話&#xff0c;性能實在是太…

用Zynq實現脈沖多普勒雷達信號處理:架構、算法與實現詳解

用Zynq實現脈沖多普勒雷達信號處理:架構、算法與實現詳解 脈沖多普勒(PD)雷達是現代雷達系統的核心技術之一,廣泛應用于機載火控、氣象監測、交通監控等領域。其核心優勢在于能在強雜波背景下檢測運動目標,并精確測量其徑向速度。本文將深入探討如何利用Xilinx Zynq SoC(…

OpenCV CUDA模塊設備層-----線程塊級別的一個內存填充工具函數blockFill()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 在同一個線程塊&#xff08;thread block&#xff09;內&#xff0c;將 [beg, end) 范圍內的數據并行地填充為指定值 value。 它使用了 CUDA 線程…

SAP-ABAP:如何查詢 SAP 事務碼(T-Code)被包含在哪些權限角色或權限對象中

要查詢 SAP 事務碼&#xff08;T-Code&#xff09;被包含在哪些權限角色或權限對象中&#xff0c;可使用以下專業方法&#xff1a; &#x1f50d; 1. 通過權限瀏覽器 (SUIM) - 最推薦 事務碼&#xff1a;SUIM (權限信息系統) 操作步驟&#xff1a; 執行 SUIM → 選擇 “角色…

MySQL 多列 IN 查詢詳解:語法、性能與實戰技巧

在 MySQL 中&#xff0c;多列 IN 查詢是一種強大的篩選工具&#xff0c;它允許通過多字段組合快速過濾數據。相較于傳統的 OR 連接多個條件&#xff0c;這種語法更簡潔高效&#xff0c;尤其適合批量匹配復合鍵或聯合字段的場景。本文將深入解析其用法&#xff0c;并探討性能優化…

自由學習記錄(63)

編碼全稱&#xff1a;AV1&#xff08;Alliance for Open Media Video 1&#xff09;。 算力消耗大&#xff1a;目前&#xff08;截至 2025 年中&#xff09;軟件解碼 AV1 的 CPU 開銷非常高&#xff0c;如果沒有專門的硬件解碼單元&#xff0c;播放高清視頻時會很吃 CPU&#…

日本生活:日語語言學校-日語作文-溝通無國界(4)-題目:喜歡讀書

日本生活&#xff1a;日語語言學校-日語作文-溝通無國界&#xff08;4&#xff09;-題目&#xff1a;喜歡讀書 1-前言2-作文原稿3-作文日語和譯本&#xff08;1&#xff09;日文原文&#xff08;2&#xff09;對應中文&#xff08;3&#xff09;對應英文 4-老師評語5-自我感想&…