在CentOS7系统中通过源码编译升级OpenSSL3.0.16
作者 hxwsq_华 于 2024-11-10 10:05:00.0 发表于 浙江 最近修改于 2025-04-25 14:15:25.0 本文浏览量:122人次
一、说明
1.1 操作系统版本
本文使用的操作系统版本:CentOS 7.9
cat /etc/centos-release

1.2 准备工作
1.OpenSSL3.0.16源码包(下载)
二、升级步骤
2.1 安装所需的软件包
yum -y install gcc zlib-devel perl-IPC-Cmd

2.2 备份原OpenSSL文件
---备份原OpenSSL二进制文件
[[ -f /usr/bin/openssl ]] && mv /usr/bin/openssl /usr/bin/openssl.bak
---备份原OpenSSL库文件
[[ -d /usr/lib64/openssl ]] && mv /usr/lib64/openssl /usr/lib64/openssl.bak
---备份原OpenSSL头文件(只有安装了openssl-devel包才会有该目录)
[[ -d /usr/include/openssl ]] && mv /usr/include/openssl /usr/include/openssl.bak
---备份原OpenSSL配置文件
[[ -d /etc/ssl ]] && mv /etc/ssl /etc/ssl.bak

2.3 获取OpenSSL源码包

2.4 编译安装OpenSSL
tar -zxf openssl-3.0.16.tar.gz
cd openssl-3.0.16 && ./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl shared zlib
make && make install

2.5 安装后配置
---配置环境变量
echo "export PATH=/usr/local/openssl/bin:\$PATH" >> /etc/profile
echo "export LD_LIBRARY_PATH=/usr/local/openssl/lib64:\$LD_LIBRARY_PATH" >> /etc/profile
source /etc/profile
---创建符号链接
ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/openssl/include/openssl /usr/include/openssl
---更新动态库
echo "/usr/local/openssl/lib64" >> /etc/ld.so.conf
ldconfig

2.6 查看升级后的OpenSSL版本
openssl version -a

三、 回退OpenSSL版本
3.1 删除新版本的OpenSSL配置信息
rm -rf /usr/bin/openssl
rm -rf /usr/include/openssl
sed -i '/\/usr\/local\/openssl\/bin/d' /etc/profile
sed -i '/\/usr\/local\/openssl\/lib64/d' /etc/profile
source /etc/profile
sed -i '/\/usr\/local\/openssl\/lib64/d' /etc/ld.so.conf
ldconfig

3.2 恢复原OpenSSL配置信息
---恢复原OpenSSL二进制文件
mv /usr/bin/openssl.bak /usr/bin/openssl
---恢复原OpenSSL库文件
mv /usr/lib64/openssl.bak /usr/lib64/openssl
---恢复原OpenSSL头文件(只有安装了openssl-devel包才会有该目录)
mv /usr/include/openssl.bak /usr/include/openssl
---恢复原OpenSSL配置文件
mv /etc/ssl.bak /etc/ssl

3.3 查看回退后的OpenSSL版本
openssl version -a

四、文档更新记录
日期 | 更新记录 |
2024-11-10 | 新建文档,OpenSSL版本为OpenSSL3.0.15 |
2025-02-14 | 更新OpenSSL版本至OpenSSL3.0.16 |