VS2015編譯OpenSSL

概述

OpenSSL 是一個開源的第三方庫,它實現了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)協議,被普遍企業應用所採用。對於通常的開發人員而言,在 Win32 OpenSSL 上下載已經編譯好的 OpenSSL 庫是省力省事的好辦法。對於高級的開發用戶,可能須要適當的修改或者裁剪 OpenSSL,那麼編譯它就成爲了一個關鍵問題。工具

下面,主要講述如何在 Windows 上使用VS2015編譯 OpenSSL 庫,若是須要使用其餘版本的VS,能夠自行選擇對應版本的命令行工具進行編譯。網站

編譯環境

1.我這裏使用的是Visual Studio 2015,因此首先確定是須要安裝好對應的開發環境了
2.下載並安裝ActivePerl
我這裏使用的是ActivePerl-5.26.0.2600-MSWin32-x64-403866.ex
安裝完之後,可使用控制檯進入Perl安裝目錄下的eg,執行 perl example.pl,如果提示 Hello from ActivePerl! 則說明安裝Perl成功了。

3.下載並安裝NASM彙編器
我這裏使用的是nasm-2.13.01-installer-x64.exe
4.下載OpenSSL的源碼
能夠去官方網站下載
我下的是openssl-1.0.2m.tar.gz
建議使用這個版本,後續新版本可能會致使編譯失敗。
下載完畢之後,將源碼文件解壓縮到本身須要編譯的地方便可。能夠參考INSTALL.W32和INSTALL.W64兩個文件,瞭解編譯openSSL的各個步驟。ui

編譯步驟

準備工做作好了,接下來就能夠進行具體的編譯工做了。
1.打開命令行工具,定位到openSSL源碼所在的目錄,我這裏是E:\opensource\openssl\openssl-1.0.2m
2.配置openSSL相關信息,我這裏設置的是將最後編譯成功的各類庫文件安裝到E:\opensource\openssl目錄下,所以輸入命令行 perl Configure VC-WIN32 --prefix=E:\opensource\openssl

3.執行彙編編譯,在命令行中輸入 ms\do_nasm

4.選擇目標VS版本,我這裏使用的是VS2015。將控制檯定位置VS2015安裝目錄\VC\bin,而後執行vcvars32.bat批處理文件,即選擇當前版本做爲編譯程序。

5.將控制檯從新定位到openSSL源碼所在的目錄,這裏有兩種選擇
動態庫版本輸入命令行

nmake -f ms\ntdll.mak

靜態庫版本輸入debug

nmake -f ms\nt.mak


編譯成功結束之後,會在openSSL源碼目錄下新生成out32dll文件夾,裏面包含了一些動態庫和執行文件。
6.檢測生成的庫是否正確,能夠經過執行對應的腳本進行檢測
動態庫版本輸入3d

nmake -f ms\ntdll.mak test

靜態庫版本輸入code

nmake -f ms\nt.mak test

若最終在終端顯示 passed all tests 則表示生成的庫是正確的

7.編譯結束後,能夠執行對應的腳本,將openSSL安裝到目標位置
動態庫版本輸入blog

nmake -f ms\ntdll.mak install

靜態庫版本輸入ssl

nmake -f ms\nt.mak install


執行結束之後,會在第一步設置的安裝路徑下生成bin、include、lib和ssl四個文件夾
openSSL編譯、安裝步驟到此結束。資源

注意

1.以上編譯步驟對應的是Release版本,若是須要編譯Debug版本,則只須要將第二步中的VC-WIN32修改成debug-VC-WIN32便可
2.若想生成不帶會變支持的庫,則須要在第二步執行perl Configure VC-WIN32 no-asm --prefix=E:\opensource\openssl,並將第三步改成ms\do_ms便可。

資源備用地址

我將須要的工具放在了百度雲盤上,有須要的能夠直接從上面獲取
地址 提取碼 didw

相關文章
相關標籤/搜索