Windows下編譯OpenSSL

來源:互聯網
上載者:User
如何在Windows下編譯OpenSSL。

yanqing-wang (Intel) 於 星期日, 22/12/2013 - 23:48 提交

OpenSSL是一個開源的第三方庫,它實現了SSL(Secure SocketLayer)和TLS(Transport Layer Security)協議,被廣泛公司專屬應用程式所採用。對於一般的開發人員而言,在http://slproweb.com/products/Win32OpenSSL.html 上下載已經編譯好的OpenSSL庫是省力省事的好辦法。對於進階的開發使用者,他們可能需要適當的修改或者裁剪OpenSSL,那麼編譯它就成為了一個關鍵問題。本篇部落格就是主要講述如何早Windows上編譯OpenSSL庫。

 

筆者按照一定的步驟成功了編譯了OpenSSL庫,步驟如下:

1)在微軟網站下載並安裝VS Studio,筆者寫部落格之時的最新版本是2013,串連如下:http://msdn.microsoft.com/subscriptions/downloads/#searchTerm=&ProductFamilyId=529&Languages=en&PageSize=10&PageIndex=0&FileId=0 。

2)從http://www.activestate.com/activeperl/downloads 下載並安裝ActivePerl。

3)從http://www.nasm.us/ 下載並安裝Nasm彙編器。

4)從http://www.openssl.org/下載並安裝OpenSSL的最新Release包。筆者寫部落格之時,最新的OpenSSL包是:4459777 Feb 11 16:34:23 2013 openssl-1.0.1e.tar.gz (MD5) (SHA1) (PGP sign)  [LATEST]

這裡需要強調的是,讀者未必需要完全按照筆者的步驟編譯OpenSSL庫,這裡的部分次序是可以互換的。

 

在完成所有上述5步後,我們就可以解壓縮OpenSSL包,在對它進行修改便可以編譯了。在解壓縮後,所有的原始碼放在openssl-1.0.1e目錄下,在此目錄下,有兩個檔案INSTALL.W32, INSTALL.W64需要被關注。開啟其中的任何一個檔案,你會看到如何編譯OpenSSL的各個步驟。這裡,筆者將會再囉嗦一下。

1)開啟VS Studio命令列工具,如圖1所示。若編譯64位OpenSSL庫,請開啟Visual Studio x64 Win64 Command Prompt,反之亦然。

圖1

2)配置編譯檔案及安裝目錄;

         編譯Win32:perl Configure VC-WIN32 --prefix=c:\some\openssl\dir

         編譯Win64:perl Configure VC-WIN64A

“c:\some\openssl\dir”目錄可以改成任何你希望的安裝目錄

3)搭建編譯環境:

         ms\do_nasm

         ms\do_ms

對於64位編譯,將ms\do_ms替換成ms\do_win64a

4)編譯OpenSSL

nmake -f ms\ntdll.mak

5)安裝編譯產生的庫到“c:\some\openssl\dir”

nmake -f ms\ntdll.mak install

 

執行後搞定了嗎。若沒有,是不是遺忘的中間的某個步驟。

 

【思考題】

1)在Win64編譯中,有VC-WIN64I配置選項,它表示什麼。

2)如果不想使用彙編代碼,那麼應該如何處理呢。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.