Linux下Openssl升级

2019-07-10 16:36 By "Powerless" 5163 3 4

    大多的 Centos 自带的 Openssl 非常老旧,云厂商的源也没有及时更新,所以我们采用自己编译的方式升级。

【查看版本】

[root@wzxaini9 /]# openssl 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

    我这里系统自带1.0.2k版本,在Qualys SSL Labs’s SSL Server Test(www.ssllabs.com/ssltest)中可以检测OpenSSL是否安全。

    当前的最新版本 OpenSSL 可以在 OpenSSL官网(www.openssl.org/source)查询到。今天以1.1.0k版本为例,如有更新的版本下面请自行变动。


【安装GCC】

已安装过的可以跳过

[root@wzxaini9 /]# yum install gcc -y


【下载/解压/安装】

[root@wzxaini9 /]# wget https://www.openssl.org/source/openssl-1.1.0k.tar.gz
[root@wzxaini9 /]# tar -zxvf openssl-1.1.0k.tar.gz
[root@wzxaini9 /]# cd openssl-1.1.0k
[root@wzxaini9 openssl-1.1.0k]# ./config --prefix=/usr/local/openssl
[root@wzxaini9 openssl-1.1.0k]# make && make install


【备份文件/配置软链】

当然,你也可以直接吧旧版删了

[root@wzxaini9 openssl-1.1.0k]# mv /usr/bin/openssl /usr/bin/openssl.old
[root@wzxaini9 openssl-1.1.0k]# mv /usr/include/openssl /usr/include/openssl.old
[root@wzxaini9 openssl-1.1.0k]# ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
[root@wzxaini9 openssl-1.1.0k]# ln -s /usr/local/openssl/include/openssl /usr/include/openssl


【动态链接库地址写入】

将 OpenSSL 的动态链接库地址写入动态链接装入器(dynamic loader)

[root@wzxaini9 openssl-1.1.0k] echo "/usr/local/openssl/lib" >> /etc/ld.so.conf


【重新加载动态链接库】

[root@wzxaini9 openssl-1.1.0k] ldconfig -v


【查看版本】

[root@wzxaini9 openssl-1.1.0k] openssl version -a
OpenSSL 1.1.0k  28 May 2019
built on: reproducible build, date unspecified
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -DDSO_DLFCN -DHAVE_DLFCN_H -DNDEBUG -DOPENSSL_THREADS -DOPENSSL_NO_STATIC_ENGINE -DOPENSSL_PIC -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DRC4_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DPADLOCK_ASM -DPOLY1305_ASM -DOPENSSLDIR="\"/usr/local/openssl/ssl\"" -DENGINESDIR="\"/usr/local/openssl/lib/engines-1.1\""  -Wa,--noexecstack
OPENSSLDIR: "/usr/local/openssl/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"


评 论

小易电气 10 2019-07-31 17:15
不错了。。。
nanana🐰 12 2019-07-12 10:39
真的很好
陈小龙 10 2019-08-25 19:02
回复 nanana🐰 : 可口可乐了理解理解

View in WeChat

Others Discussion

  • 分布式服务限流
    Posted on 2020-02-07 18:57
  • 有状态服务VS无状态服务
    Posted on 2020-02-07 18:18
  • 企业级PAAS云平台几个关键问题和挑战
    Posted on 2019-06-12 18:33
  • MySQL 单库后期分库策略
    Posted on 2019-08-19 14:31
  • Redis七大经典问题
    Posted on 2021-05-27 11:14
  • 关于HTTPS的五大误区
    Posted on 2020-02-02 01:10
  • PHP实现精确发布时间
    Posted on 2018-12-06 21:00
  • 为什么要测量尾部延迟
    Posted on 2020-09-18 10:34

1.371080s