• 升级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进行编译才不会有这个报错的,才可正常的执行下面操作继续安装

  • 相关阅读:
    移动端开发-禁止横屏
    奇葩的对象创建方式(更新中)
    每日积累之8.8
    每日积累 8.6
    折半查找
    linux中的amount的解释
    Redis集群错误
    每日积累 8.6
    Redis中在程序中的应用
    每日积累 8.4
  • 原文地址:https://www.cnblogs.com/meiling12/p/7814944.html
Copyright © 2020-2023  润新知