天天看點

更新openssl1.1.0g

一、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 &amp;&amp; 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,如需轉載請自行聯系原作者