OpenSSL進行SSL通訊的一些問題

2021-05-25 15:13:54 字數 982 閱讀 5274

這兩個星期真是被openssl給煩透了,幾個很簡單基本的問題(如果沒人告訴你真的很難測出來)把我搞的。。哎,有時候真是不知道自己該不該搞技術,發現自己頭腦真是蠢得很。。。

直接上正題。

第乙個問題:

前面講過openssl可以使用windows下的capi引擎(我也不太清楚是從哪個版本開始後就開始支援了,網上說是0.9.8i後),但是openssl在windows下預設編譯時是不會把它加入內嵌引擎的,所以我們要在編譯時設定一些引數。。如果要使用capi引擎,我們要在編譯原始碼時使用:

>perl configure vc-win32 enable-capieng -dopenssl_ssl_client_engine_auto=capi -dopenssl_capieng_dialog(這個引數是需要客戶端彈出證書選擇視窗供使用者選擇合適證書時加上)(這裡還會出現乙個問題,如果windows證書庫中只有乙個合適的證書,這個證書選擇框是不會出現的,openssl會幫使用者選擇這唯一的乙個合適證書,這個問題卻糾結了我2天,當時證書庫中只有乙個合適的證書,在通訊時不出現證書選擇框,我怎麼就那麼傻,在證書庫中多放幾個合適的證書呢,哎。。弱智啊)

>ms/do_ms

>nmake -f ms/ntdll.mak

後兩步基本和預設編譯是一樣的。

第二個問題:

但是網上類似的錯誤也有很多,但是和我這個錯誤不一樣,所以它提供的方法基本無效,那麼我到底遇到的是什麼問題了,後來根據網上乙個解決方案,在預處理標頭檔案前面加上

這句話我也不知道有啥用,加上後,顯示的錯誤竟然變了,顯示是version number號不對,那我就版本進行核對,這確實發現了乙個大問題,客戶端使用的是tls1,而伺服器端使用的是ssl3,後來把版本改為一樣的,就通過了,不再報錯了。

看到這些問題,我真是汗顏啊~~

希望對遇到同樣問題的童鞋們有幫助,在此記錄之!

用openssl進行SSL程式設計

主要介紹openssl進行ssl通訊的一些函式以及過程,主要是初始化過程,至於資料的接收以及後續處理可以具體問題具體分析。load所有的ssl演算法 openssl add ssl algorithms 建立ssl所用的method ssl method meth sslv23 method 初始化...

Openssl實現ssl通訊例項

下面例項中使用的證書請參考openssl詳解自行生成 載入使用者的數字證書,此證書用來傳送給客戶端。證書裡包含有公鑰 if ssl ctx use certificate file pctx,certificate path,ssl filetype pem 0 if 1 設定私鑰的解鎖密碼 ssl...

openssl生成SSL證書的流程

ssl證書通過在客戶端瀏覽器和web伺服器之間建立一條ssl安全通道 secure socketlayer ssl ssl安全協議主要用來提供對使用者和伺服器的認證 對傳送的資料進行加密和隱藏 確保資料在傳送中不被改變,即資料的完整性,現已成為該領域中全球化的標準。由於ssl技術已建立到所有主要的瀏...