Ubuntu18.04安裝Openssl-1.1.1
1.查看版本
Ubuntu的版本是18.04。使用openssl version
命令查看openssl版本,可以看到Ubuntu自帶了openssl-1.1.0版本,因此安裝新版本需要替換舊版本。
2.下載openssl
打開openssl官網的下載頁面可以看到最新的軟件包,下載openssl-1.1.1b.tar.gz。放到Ubuntu系統中。
3.解壓和安裝
使用命令
tar -xzvf openssl-1.1.1b.tar.gz
解壓。使用
cd openssl-1.1.1b
進入目錄,並且使用./config
生成MakeFile,不加任何參數,默認的安裝位置為:/usr/local/bin/openssl
使用
make
進行編譯不放心的話可以使用
make tset
檢查一下(可選步驟)使用
sudo make install
進行安裝,這裏一定要選擇root用戶的權限執行。
4.備份與替換
- 到上一步openssl就算安裝好了,但是還無法使用,需要通過軟鏈接的方式將新舊版本就行替換,依次運行下列命令。
sudo mv /usr/bin/openssl /usr/bin/openssl.old //將舊版本的openssl進行備份 sudo ln -s /usr/local/bin/openssl /usr/bin/openssl //將新版本的openssl進行軟鏈接 cd /etc/ //進入etc目錄 su //下一步一定要切換到root用戶 echo "/usr/local/lib" >> ld.so.conf //將openssl的安裝路徑加入配置中 ldconfig //重新加載配置
使用
openssl version
查看,已經安裝好。
- 如果需要更換版本的話(一般也不會),修改軟鏈接的名稱即可,參照:
sudo mv /usr/bin/openssl /usr/bin/openssl.new
sudo mv /usr/bin/openssl.old /usr/bin/openssl
5.安裝依賴庫
openssl安裝結束之後,需要安裝依賴庫才能夠進行編程,使用
sudo apt-get isntall libssl-dev
安裝依賴庫,可以看到同時也下載了libssl-doc。
由於下載的依賴庫比較舊,我們在前面安裝的openssl包中已經安裝了新版本的庫,因此需要將新舊庫進行替換,仍然要做上一步的原因是盡量把能自動配置安裝的東西安裝好,只需要手動替換新的東西。下面是新舊庫的對比(上面為新):
依次使用以下命令進行替換:
···
sudo mv /usr/include/openssl /usr/include/openssl.old //將舊版本進行備份
sudo ln -s /usr/local/include/openssl /usr/include/openssl //將新版本進行軟鏈接
···
6.測試
編寫一個測試代碼test_openssl.c:
#include <stdio.h>
#include <openssl/evp.h>
int main(){
OpenSSL_add_all_algorithms();
return 0;
}
然後用下面的命令編譯:
gcc -o to test_openssl.c -L/usr/local/openssl/lib -lssl -lcrypto -ldl -lpthread
執行./to;echo $?
,結果打印0。
參考資料
- Linux下OpenSSL的安裝與使用
- 解決引用openssl靜態庫libcrypto.a和libssl.a出現undefined reference to異常的有關問題
Ubuntu18.04安裝Openssl-1.1.1