1、OpenSSL升級相關源碼包下載地址html
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
安裝依賴包python
yum -y install gcc pam-devel zlib-devel openssl-devellinux
一、查看源版本windows
# openssl versionui
OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008spa
二、進入https://www.openssl.org/source/下載openssl-1.1.0g.tar.gz.net
wget http://www.openssl.org/source/openssl-1.1.0g.tar.gz線程
3、相關包編譯安裝3d
一、編輯安裝zlibcode
解壓
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
二、安裝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/
三、安裝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
四、安裝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進行編譯纔不會有這個報錯的,纔可正常的執行下面操做繼續安裝