Ubuntu 18.04下安裝最新版OpenSSL 1.1.1a

寫(xiě)在前面

安裝最新版的OpenSSL——也就是1.1.1a版本的原因是,最近的項(xiàng)目需要用到國(guó)密算法,需要在代碼中調(diào)用國(guó)密SM4算法的加解密庫(kù)函數(shù)來(lái)實(shí)現(xiàn)一些功能。實(shí)際上目前已經(jīng)有針對(duì)國(guó)密算法開(kāi)發(fā)的開(kāi)源密碼工具箱——GmSSL,但是由于我在編譯Java API和PHP API未能成功,只能成功編譯安裝最基本的GmSSL,失去了編程語(yǔ)言的擴(kuò)展性,故放棄了采用GmSSL。但是在最新版的OpenSSL 1.1.1a中,已經(jīng)收錄了GmSSL實(shí)現(xiàn)的國(guó)密算法(SM2/SM3/SM4),詳見(jiàn)OpenSSL開(kāi)發(fā)日志。因而我就選擇直接安裝OpenSSL來(lái)解決項(xiàng)目中的問(wèn)題。
目前我所嘗試的OpenSSL 1.1.1a的安裝,僅在Ubuntu 18.04版本下實(shí)際測(cè)試運(yùn)行,如果使用其他Ubuntu版本或其他Linux發(fā)行版,本文僅做參考。
還要指出的是,Ubuntu 18.04預(yù)裝了OpenSSL 1.1.0g,本文內(nèi)容中并未將其卸載,而是僅安裝了OpenSSL 1.1.1a。

安裝流程

在系統(tǒng)安裝完成之后,首先同步最新的軟件包
sudo apt-get update
然后安裝編譯過(guò)程中必要的工具——gccmake工具
sudo apt-get install gcc
sudo apt-get install make
如果此時(shí)查看OpenSSL版本
openssl version
如果是Ubuntu 18.04版本,會(huì)顯示版本為1.1.0g。
gcc和make工具安裝完成后,下載OpenSSL 1.1.1a的源碼,OpenSSL的下載頁(yè)面為https://www.openssl.org/source/
下載OpenSSL 1.1.1a的源碼,可在任意文件目錄下載,此下載地址為官網(wǎng)地址,國(guó)內(nèi)網(wǎng)絡(luò)訪問(wèn)可能較慢
wget https://www.openssl.org/source/openssl-1.1.1a.tar.gz
下載完成后進(jìn)行解壓
tar zxvf openssl-1.1.1a.tar.gz
進(jìn)入解壓后的文件目錄
cd openssl-1.1.1a
接下來(lái)進(jìn)行編譯和安裝
./config
make
sudo make install
編譯安裝之后,并未完全完成,如果此時(shí)查看OpenSSL版本,就會(huì)發(fā)現(xiàn)還差一步。執(zhí)行查詢(xún)OpenSSL版本的命令后,可能會(huì)顯示沒(méi)有找到OpenSSL 1.1.1a版本,而不是直接顯示版本。
此時(shí)需要修改配置文件,配置文件路徑為/etc/ld.so.conf
sudo vim /etc/ld.so.conf
如果不習(xí)慣vim,或者尚未安裝vim,自行使用gedit
在配置文件后添加OpenSSL 1.1.1a的安裝目錄

/usr/local/bin
/usr/local/lib
/usr/local/ssl

保存退出,最后執(zhí)行命令
sudo ldconfig
此時(shí)查看OpenSSL版本,即顯示1.1.1a。至此OpenSSL 1.1.1a安裝完成,可以直接使用命令行工具或者用OpenSSL庫(kù)用C語(yǔ)言進(jìn)行開(kāi)發(fā)。

結(jié)語(yǔ)

目前尚不清楚在未卸載舊版本的情況下安裝新版本有什么弊端。正如前文所說(shuō),我安裝OpenSSL 1.1.1a的目的是利用最新版中增加的國(guó)密算法,且使用其他編程語(yǔ)言調(diào)用,所以對(duì)我來(lái)說(shuō)這還未結(jié)束。本文僅介紹OpenSSL 1.1.1a的安裝,我后續(xù)還安裝了PHP環(huán)境,調(diào)用了OpenSSL中的相關(guān)工具庫(kù),詳情請(qǐng)移步Ubuntu 18.04下安裝Apache和PHP環(huán)境,并使用最新版OpenSSL 1.1.1a。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容