Linux下OpenSSL的安裝與使用

Linux下OpenSSL的安裝與使用

OpenSSL簡介

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

  • 密碼算法庫
  • SSL協議庫
  • 應用程序

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等)。服務器

Linux下OpenSSL的安裝

環境

Ubuntu最新版本下載參見http://www.ubuntu.com/download/
OpenSSL最新版本下載參見http://www.openssl.org/source/微信

安裝過程

Linux下的應用大多能夠直接使用,也能夠獲取源代碼本身進行編譯、安裝,使用源代碼安裝的過程通常是:測試

  • configure
  • make
  • make install

OpenSSL的安裝也是這樣。首先解壓源代碼:網站

tar xzvf    openssl-1.1.0-pre1.tar.gz

而後進入源代碼目錄:

cd openssl-1.1.0-pre1

而後使用下列命令編譯安裝:

./configure

make

sudo make install

你也可使用make test測試一下有沒有問題。

Linux下OpenSSL的使用

OpenSSL應用程序

經過man openssl查看幫助文檔。使用範例參考https://www.cnblogs.com/yangxiaolan/p/6256838.html。

OpenSSL密碼算法庫

編寫一個測試代碼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.

做業

  1. 兩人一組
  2. 基於Socket實現TCP通訊,一人實現服務器,一人實現客戶端
  3. 研究OpenSSL算法,測試對稱算法中的AES,非對稱算法中的RSA,Hash算法中的MD5
  4. 選用合適的算法,基於混合密碼系統實現對TCP通訊進行機密性、完整性保護。
  5. 學有餘力者,對系統進行安全性分析和改進。

歡迎關注「rocedu」微信公衆號(手機上長按二維碼)

作中教,作中學,實踐中共同進步!

rocedu



若是你以爲本文對你有幫助,請點一下左下角的「好文要頂」和「收藏該文

相關文章
相關標籤/搜索