OpenSSL動(dòng)態(tài)鏈接庫(kù)源碼安裝教程
Openssl 是一個(gè)開(kāi)放源代碼的SSL協(xié)議的產(chǎn)品實(shí)現(xiàn),它采用C語(yǔ)言作為開(kāi)發(fā)語(yǔ)言,具備了跨系統(tǒng)的性能。調(diào)用Openssl的函數(shù)就可以實(shí)現(xiàn)一個(gè)SSL加密的安全數(shù)據(jù)傳輸通道,從而保證客戶端和服務(wù)器之間數(shù)據(jù)的安全。
OpenSSL整個(gè)軟件包大概可以分成三個(gè)主要的功能部分:SSL協(xié)議庫(kù)、應(yīng)用程序以及密碼算法庫(kù)。OpenSSL的目錄結(jié)構(gòu)自然也是圍繞這三個(gè)功能部分進(jìn)行規(guī)劃的。作為一個(gè)基于密碼學(xué)的安全開(kāi)發(fā)包,OpenSSL提供的功能相當(dāng)強(qiáng)大和全面,囊括了主要的密碼算法、常用的密鑰和證書(shū)封裝管理功能以及SSL協(xié)議,并提供了豐富的應(yīng)用程序供測(cè)試或其它目的使用。
如果程序需要使用OpenSSL的API,那么可以通過(guò)源碼安裝得到DLL或者SO庫(kù)文件,這樣就能在Windows和Linux環(huán)境下使用其API進(jìn)行二次開(kāi)發(fā)了。
下載源碼
從Github上下載
請(qǐng)注意選擇分支:
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,
對(duì)于歷史版本,可以從這里下載:https://www.openssl.org/source/old/。
這里我們下載 openssl-1.1.1l.tar.gz:
解壓下載后的OpenSSL,分別存放到兩個(gè)目錄,用于在Windows下編譯32位和64位版本,
安裝ActivePerl
由于OpenSSL的配置是使用Perl寫(xiě)的,因此在Windows環(huán)境上編譯時(shí)需要安裝一個(gè)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動(dòng)態(tài)庫(kù)
假設(shè)系統(tǒng)已安裝VS,從開(kāi)始菜單找到 “x64 Native Tools Command…”,點(diǎn)擊右鍵,以管理員方式打開(kāi)。
注:這里不能選錯(cuò),如果選錯(cuò)后面編譯可能會(huì)出現(xiàn)問(wè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動(dòng)態(tài)庫(kù)
整體步驟和編譯64位動(dòng)態(tài)庫(kù)相同,不同地方有兩點(diǎn),
需要選擇命令行工具 “x86 Native Tools Command…”
配置時(shí)需要執(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動(dòng)態(tài)庫(kù)
注:確保當(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
此時(shí)在--prefix指定的目錄下即可找到編譯后的內(nèi)容:
安裝完成后直接執(zhí)行bin下面的openssl命令可能會(huì)遇到如下問(wèn)題:
這是因?yàn)闊o(wú)法找到動(dòng)態(tài)鏈接庫(kù),可通過(guò)以下方法解決。
以root身份執(zhí)行以下命令添加庫(kù)引用目錄:
echo "/home/sunny/work/build/openssl/output/lib" >> /etc/ld.so.conf.d/libc.conf && ldconfig
此時(shí)就不會(huì)有問(wèn)題了,
到此這篇關(guān)于OpenSSL動(dòng)態(tài)鏈接庫(kù)源碼安裝的文章就介紹到這了,更多相關(guān)OpenSSL動(dòng)態(tài)鏈接庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從頭學(xué)習(xí)C語(yǔ)言之if語(yǔ)句的使用
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言之if語(yǔ)句的使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-01-01C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇小游戲
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的貪吃蛇小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06QT網(wǎng)絡(luò)編程Tcp下C/S架構(gòu)的即時(shí)通信實(shí)例
下面小編就為大家?guī)?lái)一篇QT網(wǎng)絡(luò)編程Tcp下C/S架構(gòu)的即時(shí)通信實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-08-08C語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲
這篇文章主要為大家詳細(xì)介紹了c語(yǔ)言實(shí)現(xiàn)簡(jiǎn)單的五子棋游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01