升级openssl

 一、OpenSSL升级相关源码包下载地址

zlib  http://www.zlib.net/zlib-1.2.11.tar.gz

zlib其他版本下载地址 http://www.zlib.net/fossils/

openssl-fips http://www.openssl.org/source/ openssl-fips-2.0.16.tar.gz

OpenSSL http://www.openssl.org/source/openssl-1.1.0g.tar.gz

安装依赖包

yum -y install gcc pam-devel zlib-devel openssl-devel

二、升级openssl环境至openssl-1.1.0g

1、查看源版本

# openssl version

OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008

2、进入https://www.openssl.org/source/下载openssl-1.1.0g.tar.gz

wget http://www.openssl.org/source/openssl-1.1.0g.tar.gz

三、相关包编译安装

1、编辑安装zlib

解压

tar -xvf zlib-1.2.11.tar.gz                

cd zlib-1.2.11 

./configure

make            

make install

查看(zlib默认安装在/usr/local/lib目录下):

ll /usr/local/lib

2、安装openssl-fips

此为FIPS 140-2 support module for openssl, 具体说明参见http://www.openssl.org/docs/fips

[root@baby openssl-fips-2.0.16]# tar zxpf openssl-fips-2.0.16.tar.gz

# cd openssl-fips-2.0.16

# ./config

# make && make install

生成路径在:

/usr/local/ssl/fips-2.0/

3、安装perl

安装openssl1.1.0g是需要perl 5.10.0以上版本,我的是红帽5.4里面的perl是5.8.8;

官网下载:https://www.perl.org/get.html

下载地址:http://www.cpan.org/src/

# wget http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz

# tar -xzf perl-5.26.1.tar.gz

# cd perl-5.26.1

# ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly

参数-Dprefix指定安装目录为/usr/local/perl

参数-Dusethreads开启线程支持

# make

# make test

# make install

接下来替换系统原有的perl

1 #mv /usr/bin/perl  /usr/bin/perl.oldbak
2 
3 #ln -s /usr/local/perl/bin/perl  /usr/bin/
4 
5 #ln -s /usr/local/perl/bin/perl5.26.1 /usr/bin/
6 
7 #perl -v

4、安装openssl

# tar -xf openssl-1.1.0g.tar.gz

# cd openssl-1.1.0g

[root@localhost openssl-1.1.0g]# ./config --prefix=/usr --openssldir=/usr/ shared zlib
# make

需带上–shared参数 否则会出现头文件和库文件不匹配

由于我使安装在原路径下,所以我将旧的配置文件挪了一下位置 

mv /usr/bin/openssl  /usr/bin/openssl.oldbak
mv /usr/include/openssl  /usr/include/openssl.oldbak
 [root@baby openssl-1.1.0g]# make install

查看是否升级成功

[root@zj ~]# openssl version -a

若需要结合fips模块,操作步骤和上面一样的,编译参数如下:

[root@localhost openssl-1.1.0g]# ./config fips --prefix=/usr--openssldir=/usr/ shared zlib
加上fips进行编译

至此已全部完成OpenSSL的升级工作

 番外说明:

make

这一步是用来编译的,它从Makefile中读取指令,大多数的源代码包都经过这一步进行编译,当然有些perl或python编写的软件需要调用perl或python来进行编译,

如果在 make 过程中出现 error ,你就要记下错误代码(注意不仅仅是最后一行),然后你可以向开发者提交 bugreport(一般在 INSTALL 里有提交地址),或者你的系统少了一些依赖库等,这些需要自己仔细研究错误代码

make test / make check

顾名思义,这一步就是对上一步 make 的检查了,要确保 make 是没有错误的,也就是这一步的 test、check要全部是 OK 的,error 为0

sudo make install

这条命令来进行安装,它也从Makefile中读取指令,安装到指定的位置,一般需要你有 root 权限(因为要向系统写入文件),所以前面用了 sudo

openssl编译说明:

./config shared zlib

./config shared zlib-dynamic

一个是静态链接,一个是动态库,windows下为dll,linux为啥来着我也忘了。

这个参数的意思是,openssl应该使用哪个方式来获取zlib依赖。如果你全局安装了zlib-devel,那么选择zlib-dynamic即可。

如果你选择zlib,可能需要配置zlib-src搜索,也就是zlib的源码让openssl可以将其静态编译到自己体内。 

perl在编绎执行make时中会如下的报错:

make: *** [lib/buildcustomize.pl] 错误 1

make的这个报错必须要这个参数-Dusethreads进行编译才不会有这个报错的,才可正常的执行下面操作继续安装

原文地址:https://www.cnblogs.com/meiling12/p/7814944.html