Windows 下編譯 OpenSSL

簡述

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

下面,主要講述如何在 Windows 上編譯 OpenSSL 庫。web

 

 

環境準備

  1. 下載並安裝 Visual Studio(以 VS 2015 爲例)。ui

  2. 下載並安裝 ActivePerl。 
    下載地址:http://www.activestate.com/activeperl/downloads 
    我下載的是:ActivePerl-5.26.0.2600-MSWin32-x64-403866.exespa

    打開命令提示符,定位到 D:\Program Files\Perl\eg 目錄,執行 perl example.pl,若提示 Hello from ActivePerl!則說明 Perl 安裝成功:.net

    這裏寫圖片描述

  3. 下載並安裝 Nasm 彙編器,並將 D:\Program Files\NASM 添加到系統環境變量 Path 中。 
    下載地址:http://www.nasm.us/ 
    我下載的是:nasm-2.13.01-installer-x64.exedebug

  4. 下載並安裝 OpenSSL 
    下載地址:http://www.openssl.org/ 
    我下載的是:openssl-1.0.2m.tar.gzcode

    完成上述全部步驟,將 OpenSSL 包解壓至 E:\openssl-1.0.2m,即可以進行編譯了。htm

    注意: 解壓後的目錄中有兩個文件 - INSTALL.W3二、INSTALL.W64,包含了 OpenSSL 的各個編譯步驟。blog

編譯步驟

  1. 打開命令提示符,定位至 E:\openssl-1.0.2m圖片

    這裏寫圖片描述

  2. 輸入 perl Configure VC-WIN32 --prefix=E:\OpenSSL(將其安裝到 E:\OpenSSL):

    這裏寫圖片描述

  3. 輸入 ms\do_nasm

    這裏寫圖片描述

  4. 將命令提示符定位至 D:\Program Files\Microsoft Visual Studio 14.0\VC\bin, 而後輸入vcvars32.bat

    這裏寫圖片描述

    若是沒有這一步,會提示 nmake 不是內部或外部命令等一系列錯誤。

  5. 再次將命令提示符定位至 E:\openssl-1.0.2m,而後輸入 nmake -f ms\ntdll.mak

    這裏寫圖片描述

    完成以後,會在 openssl-1.0.2m 目錄下生成一個名爲 out32dll 的文件夾,裏面包含了一些動態庫和 exe 文件:

    這裏寫圖片描述

  6. 輸入 nmake -f ms\ntdll.mak test,若最終顯示 passed all tests 則說明生成的庫正確:

    這裏寫圖片描述

  7. 輸入nmake -f ms\ntdll.mak install

    這裏寫圖片描述

    完成以後,會在 E:\OpenSSL 目錄下生成 bin、include、lib、ssl 四個文件夾:

    這裏寫圖片描述

注意:

  • 以上編譯的是 release 版本,若要編譯 debug 版,將上述第 2 步中的 VC-WIN32 改爲 debug-VC-WIN32便可。
  • 若要編譯靜態庫,則用 ms\nt.mak 替換掉上面用到的 ms\ntdll.mak 便可。
  • 若要生成不帶彙編支持的庫,則需將上述第 二、3 步用 perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL 和 ms\do_ms 替換。
  • 在 E:\openssl-1.0.2m\tmp32dll 文件夾下包含相應的彙編文件。
相關文章
相關標籤/搜索