openssl升级方法(升级怎么玩)

1.Linux系统版本:[root@bogon~]#cat/etc/redhat-releaseCentOSLinuxrelease7.3.1611(Core)图1查看Linux系统版本2.查看Openssl安装的版本[root@bogon~]#opensslversionOpenSSL1.0.2k-fips26Jan2017图2查看openssl版本3.查看Openssl路径[root@bogon~]#which

大家好,又见面了,我是你们的朋友全栈君。

1. Linux 系统版本:

[root@bogon ~]# cat /etc/redhat-release

CentOS Linux release 7.3.1611 (Core)

openssl升级方法(升级怎么玩)

图 1 查看Linux系统版本

2. 查看Openssl安装的版本

[root@bogon ~]# openssl version

OpenSSL 1.0.2k-fips 26 Jan 2017

openssl升级方法(升级怎么玩)

图 2 查看openssl版本

3. 查看Openssl路径

[root@bogon ~]# which openssl

/usr/bin/openssl

openssl升级方法(升级怎么玩)

图 3 查看openssl路径

4.下载Openssl

目前最新版本是1.1.1,可以通过修改版本号的方式下载最新版本,最新版本可以在这个网站下载:https://www.openssl.org/source

[root@bogon ~]# wget http://www.openssl.org/source/openssl-1.1.1b.tar.gz

openssl升级方法(升级怎么玩)

图 4 下载openssl-1.1.1b.tar.gz

5. 安装依赖

[root@bogon ~]# yum install -y zlib

[root@bogon ~]# yum install –y zlib-devel

[root@bogon ~]# yum install –y gcc

6. 安装Perl

6.1下载Perl

官方网站下载新版本的源码包:http://www.perl.org/get.html

[root@bogon ~]# wget https://www.cpan.org/src/5.0/perl-5.28.2.tar.gz

openssl升级方法(升级怎么玩)

图 5 下载perl-5.28.2.tar.gz

6.2 解压Perl

[root@bogon ~]# tar -zxvf perl-5.28.2.tar.gz

6.3建立文件目录,以供安装时使用

[root@bogon ~]# mkdir /usr/local/perl

6.4配置Perl参数

进入perl-5.28.2.tar.gz的解压目录,执行:

[root@bogon ~]# cd perl-5.28.2

[root@bogon perl-5.28.2]# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads –Uversiononly

6.5 编译

[root@bogon perl-5.28.2]# make

6.6安装

[root@bogon perl-5.28.2]# make install

6.7查看版本

[root@bogon perl-5.28.2]# perl –v

openssl升级方法(升级怎么玩)

图 6 查看perl版本

7. 安装Openssl

7.1解压Openssl

[root@bogon perl-5.28.2]# cd

[root@bogon ~]# tar -zxvf openssl-1.1.1b.tar.gz

7.2调用zlib共享库

[root@bogon ~]# cd openssl-1.1.1b

[root@bogon openssl-1.1.1b]# ./config shared zlib

openssl升级方法(升级怎么玩)

图 7 配置openssl

7.3编译

[root@bogon openssl-1.1.1b]# make

7.4安装

[root@bogon openssl-1.1.1b]# make install

7.5备份当前Openssl

[root@bogon openssl-1.1.1b]# mv /usr/bin/openssl /usr/bin/openssl.old

[root@bogon openssl-1.1.1b]# mv /usr/lib64/openssl /usr/lib64/openssl.old

7.6使用新版Openssl

[root@bogon openssl-1.1.1b]# ln -s /usr/local/bin/openssl /usr/bin/openssl

[root@bogon openssl-1.1.1b]# ln -s /usr/local/include/openssl/ /usr/include/openssl

8.更新动态链接库数据

[root@bogon openssl-1.1.1b]# echo “/usr/local/lib/” >> /etc/ld.so.conf

9.重新加载动态链接库

[root@bogon openssl-1.1.1b]# ldconfig -v

10.查看安装完成后的最新版本

[root@bogon openssl-1.1.1b]# openssl version

[root@bogon openssl-1.1.1b]# openssl version –a

openssl升级方法(升级怎么玩)

图 8 openssl版本查看

11.可能存在的异常

openssl: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

这是由于openssl库的位置不正确造成的。

解决方法:

在root用户下执行:

ln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/libssl.so.1.1

ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

如上升级openssl版本后, 导致某些服务编译安装失败的坑, 如果短时间解决不来, 最好回滚到之前的默认版本:

openssl由默认的OpenSSL 1.0.1e升级到OpenSSL 1.1.1e后, 编译安装openssh 出现下面报错:


由于openssl升级后, 可能会导致一个应用编译安装失败, 遇到的有nginx, keepalived等, 不得已的办法就是将openssl回滚到之前默认的版本状态, 操作方法如下:
查看openssl, 然后删除升级后的openssl
[root@localhost ~]# find / -name openssl
[root@localhost ~]# rm -rf /usr/local/src/openssl-1.1.1
[root@localhost ~]# rm -rf /usr/local/bin/openssl
[root@localhost ~]# rm -rf /usr/local/share/doc/openssl
[root@localhost ~]# rm -rf /usr/local/include/openssl

然后查看下openssl版本
[root@localhost ~]# which openssl
/usr/bin/openssl
[root@localhost ~]# openssl version -a
报错说/usr/local/bin/openssl 找不到这个文件

然后重启机器
[root@localhost ~]# init 6 

重启机器后, 查看openssl版本, 如果正常查出是默认版本, 则回滚正常
[root@localhost ~]# openssl version -a
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/129077.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 可重入锁和不可重入锁的区别

    可重入锁和不可重入锁的区别不可重入锁示例(同一个线程不可以重入上锁后的代码段)如下是一个不可重入锁的逻辑过程,会发现执行main方法控制台会打印执行doJob方法前,然后就会一直线程阻塞,不会打印执行doJob方法过程中,原因在于第一次上锁后,由于没有释放锁,因此执行第一次lock后isLocked=true,这个时候调用doJob()内部又一次调用了lock()由于上个线程将isLocked=true,导致再次进入的时候就进入死循环。导致线程无法执行System.out.println(“执行doJob方法过程中”);这

    2022年6月26日
    33
  • 机房效果图制作|简易制作教程赘述

    机房效果图制作|简易制作教程赘述首先看图,这个图是人视角度,两侧显露出来的空间很大,注重表现的是两侧的机柜,包含列头柜,精密空调及上方的冷通道。第一步:客户肯定得提供图纸类的资料,如CAD图纸,或是手绘的平面布置图等。这里面需要包含机房的数量,排列组合为止或是模块化设置。第二步:拿到资料,和客户沟通之后,首先要明白客户表现的是什么效果,哪个地方是侧重点等。第三步:沟通完了就需要进行下一步,就是如果客户提供了CAD图纸

    2022年5月5日
    76
  • vue中 父组件向子组件传值案例讲解「建议收藏」

    vue中 父组件向子组件传值案例讲解「建议收藏」父组件向子组件传值通过父组件传值调用子组件显示不同的数据

    2022年6月6日
    32
  • telnet 命令使用方法详解,telnet命令怎么用?[通俗易懂]

    telnet 命令使用方法详解,telnet命令怎么用?[通俗易懂]什么是Telnet?对于Telnet的认识,不同的人持有不同的观点,可以把Telnet当成一种通信协议,但是对于入侵者而言,Telnet只是一种远程登录的工具。一旦入侵者与远程主机建立了Telnet

    2022年8月2日
    28
  • react项目实战教程(react项目实战)

    文章目录项目实战前的准备工作项目实战一.搭建项目的基本页面及外层路由1-1配置基本页面1-2配置路由1-3需要最外层去渲染路由视图1-4需要配置内层App路由1-5路由的懒加载二.利用Antd实现组件2-1使用Antd的Layout进行布局2-2可以设计个Logo2-3实现左侧的菜单展示2-4实现左侧的小图标2-5实现点击菜单切换总结需要下载的组件项目实战前的准备工作React基础…

    2022年4月12日
    38
  • IDEA设置背景为自定义照片「建议收藏」

    IDEA设置背景为自定义照片「建议收藏」一分钟教你把女朋友的照片设置成IDEA的背景图片【建议收藏】1.为什么写这篇文章?2.操作方法2.1.步骤12.2.步骤22.3.快捷操作一2.4.快捷操作二1.为什么写这篇文章?事情是这样的,在2021年6月10日早上我在CSDN上发布了文章《你真的懂Java怎么输出HelloWorld吗?》。这篇文章就如同标题一样,讲的是Java输出HelloWorld时源码的实现原理,本身再正常不过的一篇文章,但没想到的是。。十几天过去了,我却收到如下的评论??!!大家居然对我的IDEA背

    2022年6月15日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号