OpenSSL是一個SSL協議的開源實現,採用C語言做爲開發語言,具有了跨平臺的能力,支持Unix/Linux、Windows、Mac OS等多種平臺。html
OpenSSL最先的版本在1995年發佈,1998年後開始由OpenSSL項目組維護和開發。當前最新的版本是1.1.0 alpha版本,徹底實現了對SSLv一、SSLv二、SSLv3和TLS的支持。。目前,OpenSSL已經獲得了普遍的應用,許多類型的軟件中的安所有分都使用了OpenSSL的庫,如VOIP的OpenH323協議、Apache服務器、Linux安全模塊等等。linux
OpenSSL整個軟件包大概能夠分紅三個主要的功能部分:web
OpenSSL源碼的目錄結構也是圍繞這三個功能部分進行規劃的。算法
密碼算法庫是一個強大完整的密碼算法庫,它是OpenSSL的基礎部分,也是很值得通常密碼安全技術人員研究的部分,它實現了目前大部分主流的密碼算法和標準。主要包括對稱算法、非對稱算法、散列算法、數字簽名和認證、X509數字證書標準、PKCS十二、PKCS7等標準。其餘兩個功能部分SSL協議和應用程序都是基於這個庫開發的。ubuntu
在密碼算法庫的基礎上實現的,SSL協議部分徹底實現和封裝了SSL協議的三個版本和TLS協議。使用協議庫,你徹底能夠創建一個SSL服務器和SSL客戶端。安全
應用程序是基於密碼算法庫和SSL協議庫實現的命令,熟悉OpenSSL能夠從使用這些應用程序開始。應用程序覆蓋了密碼技術的應用,主要包括了各類算法的加密程序和各類類型密鑰的產生程序(如RSA、Md五、Enc等等)、證書籤發和驗證程序(如Ca、X50九、Crl等)、SSL鏈接測試程序(如S_client和S_server等)以及其它的標準應用程序(如Pkcs12和Smime等)。服務器
Ubuntu最新版本下載參見http://www.ubuntu.com/download/。
OpenSSL最新版本下載參見http://www.openssl.org/source/。微信
Linux下的應用大多能夠直接使用,也能夠獲取源代碼本身進行編譯、安裝,使用源代碼安裝的過程通常是:測試
OpenSSL的安裝也是這樣。首先解壓源代碼:網站
tar xzvf openssl-1.1.0-pre1.tar.gz
而後進入源代碼目錄:
cd openssl-1.1.0-pre1
而後使用下列命令編譯安裝:
./configure make sudo make install
你也可使用make test
測試一下有沒有問題。
經過man openssl
查看幫助文檔。使用範例參考https://www.cnblogs.com/yangxiaolan/p/6256838.html。
編寫一個測試代碼test_openssl.c:
#include <stdio.h> #include <openssl/evp.h> int main(){ OpenSSL_add_all_algorithms(); return 0; }
而後用下面命令編譯:
gcc -o to test_openssl.c -I /usr/local/ssl/inlcude -L /usr/local/ssl/lib -ldl -lpthread
執行./to;echo $?
,結果打印0.
歡迎關注「rocedu」微信公衆號(手機上長按二維碼)
作中教,作中學,實踐中共同進步!
版權聲明:自由轉載-非商用-非衍生-保持署名| Creative Commons BY-NC-ND 3.0
若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文」