Openssl版本手动升级

4 篇文章 0 订阅
4 篇文章 0 订阅
版本区别:

OpenSSL 3.0.x 最新的主版本。OpenSSL FIPS Object Module (FOM) 3.0 集成在 OpenSSL 3.0,无需独立下载
0.9.8 系列 不再支持
1.0.0 系列 不再支持
1.0.1 系列 不再支持
1.0.2 系列 将被支持到 2019 年 12 月 31 日
1.1.0 系列 只做安全修复,到 2019 年 9 月 11 日停止支持
1.1.1 系列 将被支持到 2023 年 9 月 11 日

更新操作

安装之前先下载编译安装工具依赖:

[root@localhost ~]# yum -y install make zlib zlib-devel pcre pcre-devel gcc-c++ libtool  openssl openssl-devel

首先查看当前系统Openssl版本:

[root@localhost ~]# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017
[root@localhost ~]# openssl version -a
OpenSSL 1.0.2k-fips  26 Jan 2017
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) md2(int) rc4(16x,int) des(idx,cisc,16,int) idea(int) blowfish(idx) 
compiler: gcc -I. -I.. -I../include  -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -DKRB5_MIT -m64 -DL_ENDIAN -Wall -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches   -m64 -mtune=generic -Wa,--noexecstack -DPURIFY -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DRC4_ASM -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
OPENSSLDIR: "/etc/pki/tls"
engines:  rdrand dynamic 
下载安装包

Openssl官网地址:Openssl官网

本文以更新1.1.1t版本为例:
首先下载Openssl-1.1.1t安装包:

[root@localhost ~]# wget --no-check-certificate https://www.openssl.org/source/openssl-1.1.1t.tar.gz
--2023-03-13 14:42:57--  https://www.openssl.org/source/openssl-1.1.1t.tar.gz
正在解析主机 www.openssl.org (www.openssl.org)... 223.119.224.125, 2600:1417:e800:182::c1e, 2600:1417:e800:189::c1e
正在连接 www.openssl.org (www.openssl.org)|223.119.224.125|:443... 已连接。
警告: 无法验证 www.openssl.org 的由 “/C=US/O=Let's Encrypt/CN=R3” 颁发的证书:
  颁发的证书已经过期。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:9881866 (9.4M) [application/x-gzip]
正在保存至: “openssl-1.1.1t.tar.gz”

100%[=============================================================================================================>] 9,881,866   3.79MB/s 用时 2.5s   

2023-03-13 14:43:00 (3.79 MB/s) - 已保存 “openssl-1.1.1t.tar.gz” [9881866/9881866])

执行解压命令,解压安装包到当前目录:

[root@localhost ~]# tar xf openssl-1.1.1t.tar.gz 
[root@localhost ~]#

进行编译安装:

[root@localhost ~]# cd openssl-1.1.1t/
[root@localhost openssl-1.1.1t]# ./config --prefix=/usr/local/openssl shared 
Operating system: x86_64-whatever-linux2
Configuring OpenSSL version 1.1.1t (0x1010114fL) for linux-x86_64
Using os-specific seed configuration
Creating configdata.pm
Creating Makefile

**********************************************************************
***                                                                ***
***   OpenSSL has been successfully configured                     ***
***                                                                ***
***   If you encounter a problem while building, please open an    ***
***   issue on GitHub <https://github.com/openssl/openssl/issues>  ***
***   and include the output from the following command:           ***
***                                                                ***
***       perl configdata.pm --dump                                ***
***                                                                ***
***   (If you are new to OpenSSL, you might want to consult the    ***
***   'Troubleshooting' section in the INSTALL file first)         ***
***                                                                ***
**********************************************************************
[root@localhost openssl-1.1.1t]# make 
[root@localhost openssl-1.1.1t]# make install

新版本替换之前,先对旧版本进行备份:

[root@localhost ~]#  which openssl
/usr/bin/openssl
[root@localhost ~]#  mv /usr/bin/openssl /usr/bin/openssl.bak

新版本创建软连接进行替换:

[root@localhost ~]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@localhost ~]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl
[root@localhost ~]# ln -s /usr/local/openssl/lib/libssl.so /usr/lib64/libssl.so.11
[root@localhost ~]# ln -s /usr/local/openssl/lib/libcrypto.so /usr/lib64/libcrypto.so.11

将openssl的动态链接库地址写入动态链接装入器(dynamic loader)

[root@localhost ~]# echo "/usr/local/openssl/lib/" >> /etc/ld.so.conf

重新加载动态链接库

[root@localhost ~]# ldconfig -v

查看系统的当前openssl版本

  [root@localhost ~]#  openssl version -a
  OpenSSL 1.1.1t  7 Feb 2023
built on: Mon Mar 13 06:49:16 2023 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DAESNI_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/openssl/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
Seeding source: os-specific

大功告成!

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 首先,你需要下载新版本OpenSSL,可以在其他设备上下载并将其传输到 CentOS 7 服务器上。然后,按照以下步骤进行离线升级: 1. 安装 OpenSSL 的依赖包: ``` yum install -y make gcc perl-core zlib-devel ``` 2. 解压 OpenSSL: ``` tar -xzf openssl-1.1.1k.tar.gz cd openssl-1.1.1k ``` 3. 配置 OpenSSL: ``` ./config ``` 4. 编译 OpenSSL: ``` make ``` 5. 安装 OpenSSL: ``` make install ``` 6. 检查 OpenSSL 版本: ``` openssl version ``` 7. 更新 ld.so.conf 文件: ``` echo "/usr/local/ssl/lib" >> /etc/ld.so.conf ldconfig -v ``` 现在,你已经成功地离线升级OpenSSL 版本。请注意,在更新 OpenSSL 时,你需要确保所有依赖项都满足,并且在升级之前备份你的数据。 ### 回答2: 要在CentOS 7离线升级OpenSSL版本,可以按照以下步骤进行操作: 1. 在另一台联网的计算机上下载所需的OpenSSL版本的离线安装包。你可以访问OpenSSL的官方网站或第三方软件源来获取它。 2. 使用USB存储设备或其他适配器将离线安装包传输到CentOS 7机器上。 3. 在CentOS 7机器上创建一个新的目录来存储离线安装包。例如,可以创建一个名为"openssl_update"的目录,并将离线安装包复制到该目录中。 4. 在终端或命令提示符窗口中,导航到存储离线安装包的目录。 5. 解压安装包。使用以下命令将.tar.gz或.tar.bz2格式的压缩包解压: ``` tar -xzvf openssl_version.tar.gz ``` 6. 进入解压后的目录: ``` cd openssl_version ``` 7. 执行以下命令以配置和编译OpenSSL: ``` ./config make ``` 将会生成编译后的OpenSSL文件。 8. 提权到root用户权限: ``` sudo su ``` 9. 安装新编译的OpenSSL版本。使用以下命令进行安装: ``` make install ``` 10. 让CentOS 7系统识别新安装的OpenSSL版本,更新动态链接库缓存: ``` ldconfig ``` 11. 至此,你的CentOS 7系统已成功离线升级到所需的OpenSSL版本。 请注意,离线升级将不会自动更新CentOS 7的软件仓库中的OpenSSL版本。因此,下次系统更新时,可能会将系统恢复到较旧的OpenSSL版本,因此需要重复此过程来保持所需的版本。 ### 回答3: 要在CentOS 7上进行离线升级OpenSSL版本,您可以按照以下步骤进行操作: 1. 确保您已经下载了所需的OpenSSL软件包,并将其复制到CentOS 7系统中。您可以从OpenSSL官方网站或通过其他信任的资源获取。 2. 在安装新的OpenSSL版本之前,先卸载当前系统中的旧版本。通过执行以下命令来卸载: ``` yum remove openssl ``` 3. 在进行安装之前,确保您已经更新了系统的包管理器和软件包列表,执行以下命令: ``` yum update ``` 4. 执行以下命令以安装新的OpenSSL软件包: ``` yum localinstall /path/to/openssl-package.rpm ``` 请将“/path/to/openssl-package.rpm”替换为您实际下载的OpenSSL软件包的路径。 5. 安装过程中可能会提示您确认依赖关系并安装其他软件包。按照提示进行选择并继续安装过程。 6. 安装完成后,您可以通过以下命令来验证新安装的OpenSSL版本是否成功: ``` openssl version ``` 如果命令输出显示了新安装的OpenSSL版本号,那么恭喜您,离线升级OpenSSL版本已经完成了。 注意:离线升级需要手动管理软件包和依赖关系,并且可能与系统上其他软件包产生冲突。在进行离线升级之前,请确保您已经备份了重要的系统文件,并在测试环境中先进行升级以避免可能的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张折耳

此处应有打赏,就看兄弟你的了!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值