1. 程式人生 > >Ubuntu18.04安裝Openssl-1.1.1

Ubuntu18.04安裝Openssl-1.1.1

con fin bcrypt linu test 生成 西安 config pre

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