openssl版本升级并切换

安装 OpenSSL 1.0.x
# yum -y install openssl openssl-libs openssl-devel

安装 OpenSSL 1.1.x

# yum -y install epel-release
# yum -y install openssl11 openssl11-libs openssl11-devel


查看openssl版本:
# openssl version
OpenSSL 1.0.2k-fips  26 Jan 2017

# openssl11 version
OpenSSL 1.1.1k  FIPS 25 Mar 2021

# ll /usr/lib64/libssl*
# ll /usr/lib64/libcrypto*

ln -s <源文件路径> <链接路径>

-s: 必须参数,指定创建符号链接(软链接)
-f: 强制覆盖已存在的链接文件

ln -sf /usr/lib64/libssl.so.1.1 /usr/lib64/libssl.so
ln -sf /usr/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so

或者

ln -sf /usr/lib64/libssl.so.1.1.1k /usr/lib64/libssl.so.1.1
ln -sf /usr/lib64/libcrypto.so.1.1.1k /usr/lib64/libcrypto.so.1.1


恢复原样
ln -sf /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so
ln -sf /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so

[root@localhost ~]# ll /usr/lib64/libssl*
-rwxr-xr-x. 1 root root 421624 Oct 19  2023 /usr/lib64/libssl3.so
lrwxrwxrwx. 1 root root     16 Jun 23 17:15 /usr/lib64/libssl.so -> libssl.so.1.0.2k
lrwxrwxrwx. 1 root root     16 Jun 11 12:14 /usr/lib64/libssl.so.10 -> libssl.so.1.0.2k
-rwxr-xr-x. 1 root root 470328 Mar 21  2023 /usr/lib64/libssl.so.1.0.2k
lrwxrwxrwx. 1 root root     16 Jun 23 17:17 /usr/lib64/libssl.so.1.1 -> libssl.so.1.1.1k
-rwxr-xr-x. 1 root root 603592 Jan 24  2024 /usr/lib64/libssl.so.1.1.1k


[root@localhost ~]# ll /usr/lib64/libcrypto*
lrwxrwxrwx. 1 root root      19 Jun 23 17:15 /usr/lib64/libcrypto.so -> libcrypto.so.1.0.2k
lrwxrwxrwx. 1 root root      19 Jun 11 12:14 /usr/lib64/libcrypto.so.10 -> libcrypto.so.1.0.2k
-rwxr-xr-x. 1 root root 2521224 Mar 21  2023 /usr/lib64/libcrypto.so.1.0.2k
lrwxrwxrwx. 1 root root      19 Jun 23 17:17 /usr/lib64/libcrypto.so.1.1 -> libcrypto.so.1.1.1k
-rwxr-xr-x. 1 root root 3090568 Jan 24  2024 /usr/lib64/libcrypto.so.1.1.1k

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


[root@localhost ~]# which openssl11
/usr/bin/openssl11

mv /usr/bin/openssl /usr/bin/openssl.bak
mv /usr/include/openssl /usr/include/openssl.bak

ln -s /usr/bin/openssl11 /usr/bin/openssl
ln -s /usr/include/openssl11/openssl /usr/include/openssl

注意:不能直接删除软链接
如需使用新版本,则需替换原来的软链接指向,即替换原动态库,进行版本升级
替换/lib(lib64)和/usr/lib(lib64)和/usr/local/lib(lib64)存在的相应动态库:

ln -sf /usr/lib64/libssl.so.1.1.1k /usr/lib64/libssl.so
ln -sf /usr/lib64/libcrypto.so.1.1.1k /usr/lib64/libcrypto.so

ln -sf /usr/lib64/libssl.so.1.1.1k /usr/lib64/libssl.so.10
ln -sf /usr/lib64/libcrypto.so.1.1.1k /usr/lib64/libcrypto.so.10

重新加载动态链接
ldconfig -v

检查下动态链接库是否有问题
cd /usr/bin/ && ldd openssl



[root@localhost ~]# openssl version -a
OpenSSL 1.1.1k  FIPS 25 Mar 2021
built on: Wed Jan 24 00:01:12 2024 UTC
platform: linux-x86_64
options:  bn(64,64) md2(char) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -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 -Wa,--generate-missing-build-notes=yes -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 -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\""
OPENSSLDIR: "/etc/pki/tls"
ENGINESDIR: "/usr/lib64/engines-1.1"
Seeding source: os-specific
engines:  rdrand dynamic 

[root@localhost ~]# openssl.bak 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 



最终的

[root@ecs-4878-0327505 ~]# ll /usr/lib64/libssl*
-rwxr-xr-x 1 root root 421624 Oct 19  2023 /usr/lib64/libssl3.so
lrwxrwxrwx 1 root root     24 Jun 24 20:09 /usr/lib64/libssl.so -> /usr/lib64/libssl.so.1.1
lrwxrwxrwx 1 root root     27 Jun 24 20:08 /usr/lib64/libssl.so.10 -> /usr/lib64/libssl.so.1.0.2k
-rwxr-xr-x 1 root root 470328 Mar 21  2023 /usr/lib64/libssl.so.1.0.2k
lrwxrwxrwx 1 root root     27 Jun 24 20:10 /usr/lib64/libssl.so.1.1 -> /usr/lib64/libssl.so.1.1.1k
-rwxr-xr-x 1 root root 603592 Jan 24  2024 /usr/lib64/libssl.so.1.1.1k


[root@ecs-4878-0327505 sbin]# ./nginx -V
nginx version: nginx/1.20.1
built by gcc 8.3.1 20190311 (Red Hat 8.3.1-3) (GCC) 
built with OpenSSL 1.0.2k-fips  26 Jan 2017
TLS SNI support enabled
configure arguments: --prefix=/usr/share/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib64/nginx/modules --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/lib/nginx/tmp/client_body --http-proxy-temp-path=/var/lib/nginx/tmp/proxy --http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi --http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi --http-scgi-temp-path=/var/lib/nginx/tmp/scgi --pid-path=/run/nginx.pid --lock-path=/run/lock/subsys/nginx --user=nginx --group=nginx --with-compat --with-debug --with-file-aio --with-google_perftools_module --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_degradation_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-stream_ssl_preread_module --with-threads --with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic' --with-ld-opt='-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E' --add-module=/usr/local/src/nginx-rtmp-module-1.2.2 --add-module=/usr/local/src/ngx_waf



编译的nginx有问题,应该在OpenSSL 1.1.1k下进行编译才行

恢复原样
ln -sf /usr/lib64/libssl.so.1.0.2k /usr/lib64/libssl.so
ln -sf /usr/lib64/libcrypto.so.1.0.2k /usr/lib64/libcrypto.so
posted @ 2025-06-25 16:21  哈喽哈喽111111  阅读(443)  评论(0)    收藏  举报