前几天,研发同事说测试环境上的openssl版本过低,新的程序无法在现有环境上运行,需要将现有的openssl版本从1.0.1e升级到 1.1.1以上才行。

说实话,系统的openssl不能随便升级,因为大部分系统组件都会调用现有的openssl库,一旦系统组件无法正确读取升级后的openssl环境,那么很多程序将会无法运行,一时间也是左右为难。不过研发同事有需求,又是测试环境,只能说告知下相关风险并令其做好快照等回滚预案,然后直接怼上去了。

接下来讲讲如何给现有openssl升级

下载新版本openssl

wget https://www.openssl.org/source/openssl-1.1.1f.tar.gz

这里写的是文章更新时软件的最新版本,如果需要自己指定版本信息,可以在https://www.openssl.org/source/old/ 中选择相对应的版本进行下载,而https://www.openssl.org/source/默认提供当前最新版本下载

编译安装

解压压缩包

tar zxvf openssl-1.1.1f.tar.gz

这里不要照搬指令,请将openssl-1.1.1f.tar.gz替换为自己下载的相对应版本,下同

预编译环境

cd openssl-1.1.1f.tar.gz
./config shared zlib-dynamic

若编译无法继续进行,则需要额外执行以下步骤

yum -y install zlib-devel

执行安装

make && make install

备份现有openssl版本

mv /usr/local/openssl{, .bak}
mv /usr/include/openssl{, .bak}

应用新的openssl版本

mv openssl-1.1.1f/libssl.so.1.1 /usr/lib64
mv openssl-1.1.1f/libcrypto.so.1.1 /usr/lib64/
mv openssl-1.1.1f/app/openssl /usr/bin/openssl

检验结果

openssl version

标签: none