版本区别:
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