本篇紀錄 Ubuntu 下 2 種安裝 OpenSSL 的方法,第一種為使用 apt 安裝,第二種為下載 OpenSSL 原始碼編譯安裝。
我的使用環境為 Ubuntu 16.04,也適用於 Ubuntu 18.04 跟 Ubuntu 20.04。
以下 Ubuntu 安裝 OpenSSL 的方法內容大概分為這幾部分,
- 方法1. 使用 distribution package 安裝 OpenSSL
- 方法2. 下載 OpenSSL 原始碼編譯與安裝 OpenSSL
- 備份舊版本 OpenSSL
方法1. 使用 distribution package 安裝 OpenSSL
安裝前記得先 apt-get update
一下,以下為 ubuntu apt-get 安裝 OpenSSL 的指令,1
2sudo apt-get update
sudo apt-get install openssl
安裝後可以使用 openssl version
確認一下 openssl 的版本,1
2$ openssl version
OpenSSL 1.0.2g 1 Mar 2016
方法2. 下載 OpenSSL 原始碼編譯與安裝 OpenSSL
由於 apt-get 上安裝的 OpenSSL 版本太舊,不符合我的需求,那就只能自己去下載 source code 下來編譯安裝了,使用下列指令下載 OpenSSL 1.1.1o 原始碼並且解壓縮,1
2
3cd /usr/local/src/
sudo wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz
sudo tar xvf openssl-1.1.1o.tar.gz
如果你 wget 下載時會出現憑證問題,可以使用 –no-check-certificate 選項不檢查憑證,1
wget https://www.openssl.org/source/openssl-1.1.1o.tar.gz --no-check-certificate
接下來進行編譯與安裝 OpenSSL,zlib 選項非必要,無壓縮需求可以不加,預設安裝在 /usr/local/ssl 目錄下,也可自行指定 --prefix
選項帶入目錄,如果不用 shared 的方式則 sudo ./config no-shared
即可,1
2
3
4
5
6cd openssl-1.1.1o
sudo ./config shared
#sudo ./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib # 指定路徑
sudo make -j4
sudo make test
sudo make install
在 /etc/ld.so.conf.d/ 目錄下新增一個 openssl-1.1.1o.conf 設定檔,1
sudo vim /etc/ld.so.conf.d/openssl-1.1.1o.conf
開啟 openssl-1.1.1o.conf 後加入這一行1
/usr/local/ssl/lib
重新載入動態連結,1
sudo ldconfig -v
測試 openssl 安裝的版本,1
2$ openssl version
OpenSSL 1.1.1o 3 May 2022
如果要看更詳細的參數的話可以使用 openssl version -a
備份舊版本 OpenSSL
如果你已經從 apt-get 安裝過 OpenSSL,但又要編譯安裝新版本的 OpenSSL 的話,可以先將舊版本的 OpenSSL 備份起來,
把原本的 /usr/bin/openssl
重新命名成 /usr/bin/openssl-1.0.2g
,1
mv /usr/bin/openssl /usr/bin/openssl-1.0.2g
建立軟連結,將 /usr/bin/openssl
指向 /usr/local/bin/openssl
(1.1.1),這一步可能不需要,新版本 make install 應該會順便覆蓋 /usr/bin/openssl
的版本,1
ln -sf /usr/local/bin/openssl /usr/bin/openssl
其它相關文章推薦
macOS 2 種安裝 OpenSSL 的方法
OpenSSL AES encryption 對稱式加密指令用法與範例
C/C++ OpenSSL AES encryption/decryption 加密解密範例
Ubuntu 安裝 protobuf
Ubuntu 安裝 gflags
Ubuntu 安裝 libevent
Ubuntu 編譯安裝 GLFW