Linux下OpenSSL的介紹和安裝

2021-10-06 09:57:02 字數 2019 閱讀 3973

openssl 是乙個功能豐富及自包含的安全開源工具箱,它提供的主要功能為ssl協議實現(包括sslv2、sslv3和tlsv1)、大量軟演算法(對稱/非對稱/摘要)、大數運算、非對稱演算法金鑰生成、asn.1編譯碼庫、證書請求(pkcs10)編譯碼、數字證書編譯碼、crl編譯碼、ocsp協議、數字證書驗證、pkcs7標準實現和pkcs12個人數字證書格式實現等功能,openssl是乙個以c語言作為開發語言的工具包,它支援linux、unix、windows、mac等平台,所以它具有很好的跨平台效能。

openssl整個軟體包大概可以分成三個主要的功能部分:

密碼演算法庫

ssl協議庫

應用程式

openssl原始碼的目錄結構也是圍繞這三個功能部分進行規劃的。

首先密碼演算法庫是乙個強大完整的密碼演算法庫,它是openssl的基礎部分,也是很值得一般密碼安全技術人員研究的部分,它實現了目前大部分主流的密碼演算法和標準。主要包括對稱演算法、非對稱演算法、雜湊演算法、數字簽名和認證、x509數字證書標準、pkcs12、pkcs7等標準。其他兩個功能部分ssl協議和應用程式都是基於這個庫開發的。

在密碼演算法庫的基礎上實現的,ssl協議部分完全實現和封裝了ssl協議的三個版本和tls協議。使用協議庫,你完全可以建立乙個ssl伺服器和ssl客戶端。

應用程式是基於密碼演算法庫和ssl協議庫實現的命令,熟悉openssl可以從使用這些應用程式開始。應用程式覆蓋了密碼技術的應用,主要包括了各種演算法的加密程式和各種型別金鑰的產生程式(如rsa、md5、enc等等)、證書簽發和驗證程式(如ca、x509、crl等)、ssl連線測試程式(如s_client和s_server等)以及其它的標準應用程式(如pkcs12和smime等)。

方法一

wget https:

1.1.1g.tar.gz

tar -xzvf openssl-

1.1.1g.tar.gz

cd openssl-

1.1.1g/

./config

make

sudo make install

方法二:

sudo apt-get install openssl

sudo apt-get install libssl-dev

安裝完成後可以通過which openssl檢視路徑

通過openssl version檢視安裝openssl庫的版本

安裝好後我從網上找了一段**來進行測試,下面貼出**

#include

#include

#include

int main()

編譯記得加上-lcrypto結果展示:

加密過後資料長度明顯增加。如果能夠正常執行,那麼openssl的安裝基本就完成了。

上面****現的 hmac 是openssl中的加密演算法的應用,下面簡單介紹一下hmac:

函式原型是:

#include

unsigned

char

*hmac

(const evp_md *evp_md,

const

void

*key,

int key_len,

const

unsigned

char

*d,int n,

unsigned

char

*md,

unsigned

int*md_len)

;

其中第乙個引數指定hmac中所使用的具體的雜湊演算法,在這裡我們使用sha1(輸出是160bit),因此在呼叫時第乙個引數應為evp_sha1()。key和key_len顧名思義分別是金鑰儲存的首位址和金鑰的位元組數目。d和n分別指定了被雜湊的資料的起始位址和位元組數目。md表示雜湊後的結果存放的目標位址,md_len指向的int被用來記錄md的位元組數目(在這裡是160bit即20個位元組)。

Linux下編譯安裝openssl

wget 2 解壓壓縮包,例如 解壓到當前資料夾 tar zcvf openssl 1.0.1c.tar.gz c 解壓完後會生成openssl資料夾,如 openssl 1.0.1c。3 進入該資料夾,開啟install 檔案,可以看到安裝的具體步驟,按照這些步驟一步步做下來,就完成了openss...

linux下的openssl配置及糾錯

因工程中需要用到https伺服器證書來進行驗證。需要用到openssl三方庫來進行解析。2 將靜態庫路徑以及openssl 1.1.0e下的include標頭檔案包到工程目錄下。3 相應的qt ide需要新增 libs libcrypto.a libssl.a 編譯後可能會找不到undefined ...

linux下OpenSSL的RSA金鑰生成

openssl version openssl 1.0.0e.tar.gz 安裝 2 在資料夾下解壓縮,命令 tar xzf openssl openssl 1.0.0e.tar.gz 得到openssl openssl 1.0.0e資料夾 3 進入解壓的目錄 cd openssl 1.0.0e 4...