OpenSSL動態(tài)鏈接庫源碼安裝教程
Openssl 是一個開放源代碼的SSL協(xié)議的產(chǎn)品實(shí)現(xiàn),它采用C語言作為開發(fā)語言,具備了跨系統(tǒng)的性能。調(diào)用Openssl的函數(shù)就可以實(shí)現(xiàn)一個SSL加密的安全數(shù)據(jù)傳輸通道,從而保證客戶端和服務(wù)器之間數(shù)據(jù)的安全。
OpenSSL整個軟件包大概可以分成三個主要的功能部分:SSL協(xié)議庫、應(yīng)用程序以及密碼算法庫。OpenSSL的目錄結(jié)構(gòu)自然也是圍繞這三個功能部分進(jìn)行規(guī)劃的。作為一個基于密碼學(xué)的安全開發(fā)包,OpenSSL提供的功能相當(dāng)強(qiáng)大和全面,囊括了主要的密碼算法、常用的密鑰和證書封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測試或其它目的使用。
如果程序需要使用OpenSSL的API,那么可以通過源碼安裝得到DLL或者SO庫文件,這樣就能在Windows和Linux環(huán)境下使用其API進(jìn)行二次開發(fā)了。
下載源碼
從Github上下載
請注意選擇分支:
https://github.com/openssl/opensslhttps://github.com/openssl/openssl
https://github.com/openssl/openssl
從官網(wǎng)下載
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環(huán)境上編譯時需要安裝一個Perl環(huán)境,官方推薦的是ActivePerl。
下載ActivePerl:https://platform.activestate.com/ActiveState/Perl-5.32/distributions
如果官網(wǎng)下載不方便,可以從這里下載,http://xiazai.jb51.net/202111/yuanma/ActivePerl_jb51.rar
Windows下編譯64位OpenSSL動態(tài)庫
假設(shè)系統(tǒng)已安裝VS,從開始菜單找到 “x64 Native Tools Command…”,點(diǎn)擊右鍵,以管理員方式打開。
注:這里不能選錯,如果選錯后面編譯可能會出現(xiàn)問題。
定位到64位OpenSSL源碼的根路徑:
C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\openssl-1.1.1l
執(zhí)行命令:
perl Configure VC-WIN64A no-asm --prefix="C:\Users\wang xiaohui\Desktop\OpenSSL_1_1_1_l\openssl-1.1.1l_x64\output"
執(zhí)行命令:
nmake
執(zhí)行命令:
nmake
執(zhí)行命令:
nmake install
這樣就可以在--prefix=指定的目錄下找到編譯后的內(nèi)容了,
Windows下編譯32位OpenSSL動態(tài)庫
整體步驟和編譯64位動態(tài)庫相同,不同地方有兩點(diǎn),
需要選擇命令行工具 “x86 Native Tools Command…”
配置時需要執(zhí)行下面命令
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動態(tài)庫
注:確保當(dāng)前環(huán)境已經(jīng)安裝好gcc和make等工具。
拷貝源碼到路徑:/home/sunny/work/build/openssl/openssl-1.1.1l
創(chuàng)建output目錄:/home/sunny/work/build/openssl/output,并在源碼根路徑下執(zhí)行下面命令:
./config --prefix=/home/sunny/work/build/openssl/output
執(zhí)行命令:
make
執(zhí)行命令:
make test
執(zhí)行命令:
make install
此時在--prefix指定的目錄下即可找到編譯后的內(nèi)容:
安裝完成后直接執(zhí)行bin下面的openssl命令可能會遇到如下問題:
這是因?yàn)闊o法找到動態(tài)鏈接庫,可通過以下方法解決。
以root身份執(zhí)行以下命令添加庫引用目錄:
echo "/home/sunny/work/build/openssl/output/lib" >> /etc/ld.so.conf.d/libc.conf && ldconfig
此時就不會有問題了,
到此這篇關(guān)于OpenSSL動態(tài)鏈接庫源碼安裝的文章就介紹到這了,更多相關(guān)OpenSSL動態(tài)鏈接庫內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
QT網(wǎng)絡(luò)編程Tcp下C/S架構(gòu)的即時通信實(shí)例
下面小編就為大家?guī)硪黄猀T網(wǎng)絡(luò)編程Tcp下C/S架構(gòu)的即時通信實(shí)例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-08-08