我的安裝環境:虛擬機 VMware 上運行 CentOS 7,系統內默認的OpenSSL版本爲 1.0.2。由於最近需要國密的東西,恰好OpenSSL自1.1.1版本以後也開始支持SM2 SM3 SM4算法了,所以要升級一下,就不用安裝GmSSL了。直接yum install openssl的話還是沒有辦法升到最新版本,所以才寫下這篇。
以下均以 root 身份運行Shell。
1. 安裝所需的編譯器和工具:
yum group install 'Development Tools'
yum install perl-core zlib-devel -y git
2. 從github上下載最新的OpenSSL
cd /usr/local/src
git clone https://github.com/openssl/openssl.git
3. 編譯OpenSSL
cd openssl
./config --prefix=/usr/local/ssl --openssldir=/usr/local/ssl shared zlib
make
make test
make install
4. 配置 Link Libraries
cd /etc/ld.so.conf.d/
vi openssl-3.0.0-dev.conf
將下面的內容寫進去:
/usr/local/ssl/lib
5. 重載動態Link
ldconfig -v
6. 備份
mv /usr/bin/openssl /usr/bin/openssl.backup
7. 爲OpenSSL創建新的環境
vi /etc/profile.d/openssl.sh
將下面的內容寫進去:
#Set OPENSSL_PATH
OPENSSL_PATH=/usr/local/ssl/bin
export OPENSSL_PATH
PATH=$PATH:$OPENSSL_PATH
export PATH
最後一部份工作:
chmod +x /etc/profile.d/openssl.sh
source /etc/profile.d/openssl.sh
echo $PATH
which openssl
8. 測試
openssl version -a
大功告成。