Windows下編譯OpenSSL
簡述
OpenSSL是壹個開源的第三方庫,它實現了SSL(Secure SocketLayer)和TLS(Transport Layer Security)協議,被廣泛企業應用所采用。對於壹般的開發人員而言,在Win32 OpenSSL上下載已經編譯好的OpenSSL庫是省力省事的好辦法。對於高級的開發用戶,可能需要適當的修改或者裁剪OpenSSL,那麽編譯它就成為了壹個關鍵問題。下面主要講述如何在Windows上編譯OpenSSL庫。
簡述
步驟
更多參考
步驟
在微軟網站下載並安裝Visual Studio,我用的是2013版。
下載並安裝ActivePerl。?
下載地址:/activeperl/downloads?
我下載的是:5.22.1.2201 Windows Installer (MSI)
打開命令提示符,將其定位到D:\Program Files\Perl\eg目錄下,執行perl example.pl,若提示:Hello from ActivePerl!?則說明Perl安裝成功,可以開始使用Perl的相關命令來進行OpenSSL的安裝了。
下載並安裝Nasm匯編器,並將D:\Program Files\NASM添加到系統環境變量Path中。?
下載地址:http://www.nasm.us/?。?
我下載的是:nasm-2.12.01-installer-x86.exe。
下載並安裝OpenSSL。?
下載地址:http://www.openssl.org/。?
我下載的是:openssl-1.0.2h.tar.gz (SHA256) (PGP sign) (SHA1)
在完成所有上述步驟,我們就可以解壓縮OpenSSL包(解壓至:E:\openssl-1.0.2h),在對它進行修改便可以編譯了。解壓後的目錄中有兩個文件INSTALL.W32、INSTALL.W64需要被關註。打開其中任何壹個文件,妳會看到如何編譯OpenSSL的各個步驟。
將命令提示符定位到E:\openssl-1.0.2h。
輸入perl Configure VC-WIN32 --perfix=E:\OpenSSL?(將其安裝到E:\OpenSSL)。
輸入ms\do_nasm。
將命令提示符定位到D:\Program Files\Microsoft Visual Studio 12.0\VC\bin, 然後輸入vcvars32.bat(如果沒有這壹步,會提示nmake不是內部或外部命令)。
再次將命令提示符定位到E:\openssl-1.0.2h。
輸入nmake -f ms\ntdll.mak,執行完後會在openssl-1.0.2h目錄下生成壹個out32dll的文件夾,裏面包含了壹些靜態庫、動態庫和.exe文件。
輸入nmake -f ms\ntdll.mak test,若最終顯示passed all tests說明生成的庫正確。
輸入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即可。
若生成不帶匯編支持的庫,則需將以上第2、3步用perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL和ms\do_ms替換即可。
在E:\openssl-1.0.2h\tmp32dll文件夾下包含相應的匯編文件。