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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 海量数据处理技巧

    海量数据处理技巧数据时代来临,数据量的爆炸式增长是最为显著的特征。当高性能硬件的普及还跟不上这样的数据大潮时,如何在有限的时空资源内处理海量数据成为了计算机科学以及数理统计等领域最大的挑战。所谓“数据处理”,在本文中特指通过计算机技术,对海量数据进行存储、统计、查询等操作。我将在下面介绍一些基本的海量数据处理的方法,供大家参考。需要明确的一点是,现实情况复杂多变,所以对于海量数据处理这样大的主题,是不可能用一…

  • WIN10系统开机一个WIFI都找不到,网络适配器里没有WLAN驱动,连接不了网络问题【耗时3天测试10多种方法】

    WIN10系统开机一个WIFI都找不到,网络适配器里没有WLAN驱动,连接不了网络问题【耗时3天测试10多种方法】目录1.前言2.出现的问题情况2.1找不到WIFI,连不了网。2.2网络适配器里没有WLAN选项3.解决方法(推荐按顺序进行)。1.先检查WLAN是否存在2.修改服务设置3.直接重启4.通过驱动软件修复电脑网络5.通过ccleaner修复注册表6.进入bios系统修改wireless设置7.重装系统(最好不要)8.博主问题的解决1.前言最近每天打开电脑时都会出现这样的情况,每次折腾半天,有时候运气好重启一下就…

  • LAMP下HTTPS配置「建议收藏」

    LAMP下HTTPS配置「建议收藏」LAMP下HTTPS配置    LAMP下配置HTTPS非常简单,本文主要介绍ubuntu下apache配置https的具体步骤和流程,证书为服务器生成的本地证书,希望对大家有所帮助。证书:本地生成apache版本:Apache/2.4.7(Ubuntu)系统:Ubuntu14.04一、安装Apache$sudoapt-getinstallapache2使用此方式安装的APACHE,配置比…

  • 移动终端处理器构成和基带芯片概述「建议收藏」

    移动终端处理器构成和基带芯片概述

  • 纯c语言写银行家算法

    纯c语言写银行家算法主要参考链接:https://blog.csdn.net/houchaoqun_xmu/article/details/55540792https://liuyanzhao.com/2932.html(这个是额外贴出可以参考的连接。本文的主要参考链接依旧是第一条)[声明]本文为转载是因为代码大多数都是网上copy的,然后自己也只是微调加实现过,个人认为不可以当原创。代码全部都贴上来了,…

  • 百度-Java中级面试题分享-

    百度-Java中级面试题分享-BeanFactory和ApplicationContext有什么区别>BeanFactory可以理解为含有bean集合的工厂类。BeanFactory包含了种bean的定义,以便在接收到客户端请求时将对应的bean实例化。>BeanFactory还能在实例化对象的时生成协作类之间的关系。此举将bean自身与bean客户端的配置中解放出来。BeanFactory还包含了bean生命周期的控制,调用客户端的初始化方法…

发表回复

您的电子邮箱地址不会被公开。

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