一、OpenSSL更新相關源碼包下載下傳位址
<code>zlib http://www.zlib.net/zlib-1.2.11.tar.gz</code>
<code>zlib其他版本下載下傳位址 http://www.zlib.net/fossils/</code>
<code>openssl-fips http://www.openssl.org/source/openssl-fips-2.0.16.tar.gz</code>
<code>OpenSSL http://www.openssl.org/source/openssl-1.1.0g.tar.gz</code>
安裝依賴包
yum -y install gcc pam-devel zlib-devel openssl-devel
二、更新openssl環境至openssl-1.1.0g
1、檢視源版本
<code># openssl version</code>
<code>OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008</code>
2、進入https://www.openssl.org/source/下載下傳openssl-1.1.0g.tar.gz
<a href="https://s2.51cto.com/oss/201711/10/69825aed112613f55335185cbeb28908.jpg-wh_500x0-wm_3-wmp_4-s_2820697981.jpg" target="_blank"></a>
三、相關包編譯安裝
1、編輯安裝zlib
解壓
<code>tar</code><code>-xvf zlib-1.2.11.</code><code>tar</code><code>.gz </code>
<code>cdzlib-1.2.11</code>
<code>.</code><code>/configure</code>
<code>make</code>
<code>makeinstall</code>
檢視(zlib預設安裝在/usr/local/lib目錄下):
ll /usr/local/lib
2、安裝openssl-fips
此為FIPS 140-2 support module for openssl, 具體說明參見http://www.openssl.org/docs/fips
<code>[root@baby openssl-fips-2.0.16]</code><code># tar zxpf openssl-fips-2.0.16.tar.gz</code>
<code># cd openssl-fips-2.0.16</code>
<code># ./config</code>
<code># make && make install</code>
<code>生成路徑在:</code>
<code>/usr/local/ssl/fips-2</code><code>.0/</code>
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/
<code># wget http://www.cpan.org/src/5.0/perl-5.26.1.tar.gz</code>
<code># tar -xzf perl-5.26.1.tar.gz</code>
<code># cd perl-5.26.1</code>
<code># ./Configure -des -Dprefix=/usr/local/perl -Dusethreads -Uversiononly</code>
<code>參數-Dprefix指定安裝目錄為</code><code>/usr/local/perl</code>
<code>參數-Dusethreads開啟線程支援</code>
<code># make</code>
<code># make test</code>
<code># make install</code>
接下來替換系統原有的perl
<code>#mv /usr/bin/perl /usr/bin/perl.oldbak</code>
<code>#ln -s /usr/local/perl/bin/perl /usr/bin/</code>
<code>#ln -s /usr/local/perl/bin/perl5.26.1 /usr/bin/</code>
<code>#perl -v</code>
4、安裝openssl
<code>tar -xf openssl-1.1.0g.tar.gz</code>
<code>cd openssl-1.1.0g</code>
<code>[root@localhost openssl-1.1.0g]# ./config --prefix=/usr--openssldir=/usr/ shared zlib</code>
<code>需帶上–shared參數 否則會出現頭檔案和庫檔案不比對</code>
由于我使安裝在原路徑下,是以我将舊的配置檔案挪了一下位置
<code># mv /usr/bin/openssl /usr/bin/openssl.oldbak</code>
<code># mv /usr/include/openssl /usr/include/openssl.oldbak</code>
<code>[root@baby openssl-1.1.0g]# make install</code>
檢視是否更新成功
#openssl version -a
<a href="https://s1.51cto.com/oss/201711/10/2da1a0d48158be933332145159ac5f4a.jpg-wh_500x0-wm_3-wmp_4-s_821809212.jpg" target="_blank"></a>
若需要結合fips子產品,操作步驟和上面一樣的,編譯參數如下:
<code>[root@localhost openssl-1.1.0g]</code><code># ./config fips --prefix=/usr--openssldir=/usr/ shared zlib</code>
<code>加上fips進行編譯</code>
至此已全部完成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進行編譯才不會有這個報錯的,才可正常的執行下面操作繼續安裝
本文轉自ling118 51CTO部落格,原文連結:http://blog.51cto.com/meiling/1980718,如需轉載請自行聯系原作者