[Linux] 讓某隻程式暫時使用某特定版本的 openssl

[Linux] 讓某隻程式暫時使用某特定版本的 openssl

最近專案遇到了 openssl 的問題,

因為懷疑是 openssl-1.0.0c 的問題,因此想換成 1.0.0g 測試看看~

但是又不想全面換掉,而想先測測看只針對某隻程式換掉 openssl,

看看問題會不會因此解決~~

下面就把步驟簡單的記一下吧~

 

Step 1: 抓最新的 openssl

這很容易,直接上 openssl 的官網,就可以找到目前最新的 openssl。

例如:http://www.openssl.org/source/openssl-1.0.0g.tar.gz

 

Step 2: 將 openssl.tar.gz 解開

tar zxvf openssl-1.0.0g.tar.gz

 

Step 3: 設定 openssl

cd openssl-1.0.0g

./config –shared

 

Step 4: 開始編譯 openssl

make

 

Step 5: 將編譯好的 openssl 函式庫放在一個特定的目錄

mkdir /var/test_openssl

cp libcrypto.so.1.0.0 /var/test_openssl

cp libssl.so.1.0.0 /var/test_openssl

 

Step 6: 執行要跑的程式,並指定函式庫目錄,好讓他用到這個新的函式庫

env LD_LIBRARY_PATH=/var/test_openssl /usr/bin/mytestbin

 

Step 7: 確認 mytestbin 真的是用我們編譯出來的 openssl 在跑的

gdb /usr/bin/mytestbin $(pidof mytestbin)

看看 gdb 吐出來的訊息裡面,會寫被用到的 module 路徑,

如果是用到 /var/test_openssl/libcrypto.so.1.0.0 和 /var/test_openssl/libssl.so.1.0.0 就是成功囉~~

(本頁面已被瀏覽過 58 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料