Openssl 是一個開放源代碼的SSL協議的產品實現,它采用C語言作為開發語言,具備了跨系統的性能。調用Openssl的函數就可以實現一個SSL加密的安全數據傳輸通道,從而保證客戶端和服務器之間數據的安全。
OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協議庫、應用程序以及密碼算法庫。OpenSSL的目錄結構自然也是圍繞這三個功能部分進行規劃的。作為一個基于密碼學的安全開發包,OpenSSL提供的功能相當強大和全面,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協議,并提供了豐富的應用程序供測試或其它目的使用。
如果程序需要使用OpenSSL的API,那么可以通過源碼安裝得到DLL或者SO庫文件,這樣就能在Windows和Linux環境下使用其API進行二次開發了。
下載源碼
從Github上下載
請注意選擇分支:
https://github.com/openssl/opensslhttps://github.com/openssl/openssl
https://github.com/openssl/openssl
從官網下載
https://www.openssl.org/source/https://www.openssl.org/source/
https://www.openssl.org/source/可以選擇目前最新版本:openssl-1.1.1l.tar.gz,
對于歷史版本,可以從這里下載:https://www.openssl.org/source/old/。
這里我們下載 openssl-1.1.1l.tar.gz:
解壓下載后的OpenSSL,分別存放到兩個目錄,用于在Windows下編譯32位和64位版本,
安裝ActivePerl
由于OpenSSL的配置是使用Perl寫的,因此在Windows環境上編譯時需要安裝一個Perl環境,官方推薦的是ActivePerl。
下載ActivePerl:https://platform.activestate.com/ActiveState/Perl-5.32/distributions
如果官網下載不方便,可以從這里下載,https://xiazai.zzvips.com/202111/yuanma/ActivePerl_jb51.rar
Windows下編譯64位OpenSSL動態庫
假設系統已安裝VS,從開始菜單找到 “x64 Native Tools Command…”,點擊右鍵,以管理員方式打開。
注:這里不能選錯,如果選錯后面編譯可能會出現問題。
定位到64位OpenSSL源碼的根路徑:
C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\openssl-1.1.1l
執行命令:
perl Configure VC-WIN64A no-asm --prefix="C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\output"
執行命令:
nmake
執行命令:
nmake
執行命令:
nmake install
這樣就可以在--prefix=指定的目錄下找到編譯后的內容了,
Windows下編譯32位OpenSSL動態庫
整體步驟和編譯64位動態庫相同,不同地方有兩點,
需要選擇命令行工具 “x86 Native Tools Command…”
配置時需要執行下面命令
perl Configure VC-WIN32 no-asm --prefix="C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x86\output"
Ubuntu 21.04 下安裝OpenSSL動態庫
注:確保當前環境已經安裝好gcc和make等工具。
拷貝源碼到路徑:/home/sunny/work/build/openssl/openssl-1.1.1l
創建output目錄:/home/sunny/work/build/openssl/output,并在源碼根路徑下執行下面命令:
./config --prefix=/home/sunny/work/build/openssl/output
執行命令:
make
執行命令:
make test
執行命令:
make install
此時在--prefix指定的目錄下即可找到編譯后的內容:
安裝完成后直接執行bin下面的openssl命令可能會遇到如下問題:
這是因為無法找到動態鏈接庫,可通過以下方法解決。
以root身份執行以下命令添加庫引用目錄:
echo "/home/sunny/work/build/openssl/output/lib" >> /etc/ld.so.conf.d/libc.conf && ldconfig
此時就不會有問題了,
到此這篇關于OpenSSL動態鏈接庫源碼安裝的文章就介紹到這了,更多相關OpenSSL動態鏈接庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://blog.csdn.net/funnyrand/article/details/121305804