1. 程式人生 > >VS2015編譯Openssl-1.1.0f

VS2015編譯Openssl-1.1.0f

一、Openssl簡介

OpenSSL 是一個安全套接字層密碼庫,囊括主要的密碼演算法、常用的金鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程式供測試或其它目的使用。
OpenSSL被曝出現嚴重安全漏洞後,發現多數通過SSL協議加密的網站使用名為OpenSSL的開源軟體包。OpenSSL漏洞不僅影響以https開頭的網站,黑客還可利用此漏洞直接對個人電腦發起“心臟出血”(Heartbleed)攻擊。據分析,Windows上有大量軟體使用了存在漏洞的OpenSSL程式碼庫,可能被黑客攻擊抓取使用者電腦上的記憶體資料。(摘自百度百科)

二、Openssl編譯準備

1)安裝VS2015。 2)下載Openssl-1.1.0f官方原始碼。地址: 
https://www.openssl.org/source/
  。解壓縮 openssl 原始碼包到指定目錄, 如 C:\openssl-1.1.0f。 安裝過程中如果沒有勾選"Add Perl to the PATH environment variable",則需要安裝完成後自己手動在系統環境變數中進行配置。 4)安裝dmake。使用 VS2015 下的 Visual Studio 2015 Command Prompt 進入控制檯模式。安裝命令:ppm install dmake

三、編譯步驟

使用 VS2015 下的 Visual Studio 2015 Command Prompt 進入控制檯模式。

1、編譯win32 release版本

1)進入Openssl-1.1.0f目錄。
命令:cd /d  C:\openssl-1.1.0f 2)配置Openssl-1.1.0f。下面配置命令預設編譯生成release版本 命令:perl Configure VC-WIN32  shared no-asm --prefix="C:/openssl-1.1.0f/win32-release" --openssldir="C:/openssl-1.1.0f/win32-release/ssl" 如果只想編譯出靜態庫libcrypto.lib,libssl.lib,則加入命令引數no-shared 命令:perl Configure VC-WIN32  shared 
no-asm no-shared --prefix="C:/openssl-1.1.0f/win32-release"--openssldir="C:/openssl-1.1.0f/win32-release/ssl" 其中,引數--prefix是Openssl編譯完後的安裝路徑;--openssldir是Openssl編譯完後的生成的配置檔案的安裝路徑 3)編譯Openssl-1.1.0f。 命令:nmake 4)測試編譯的Openssl-1.1.0f
命令:nmake test 出現如下,則表示測試通過。
5)安裝編譯的Openssl-1.1.0f 命令:nmake install 此時,在C:/openssl-1.1.0f/win32-release目錄下已經可以看到編譯好的Openssl相關檔案了。 6)清除編譯Openssl-1.1.0f時產生的相關檔案,不會清除C:/openssl-1.1.0f/win32-release目錄下編譯好的Openssl 命令:nmake clean 7)以上命令合集:
  1. cd /d  C:\openssl-1.1.0f  
  2. perl Configure VC-WIN32  shared no-asm --prefix="C:/openssl-1.1.0f/win32-release" --openssldir="C:/openssl-1.1.0f/win32-release/ssl"  
  3. nmake  
  4. nmake test  
  5. nmake install  
  6. nmake clean  

2、編譯win64 release版本

編譯步驟同上: win64配置引數需要根據自身系統確定:perl Configure { VC-WIN64A | VC-WIN64I }。 命令合集:
  1. cd /d  C:\openssl-1.1.0f    
  2. perl Configure VC-WIN64A  shared no-asm --prefix="C:/openssl-1.1.0f/win64-release" --openssldir="C:/openssl-1.1.0f/win64-release/ssl"    
  3. nmake    
  4. nmake test    
  5. nmake install    
  6. nmake clean    

3、編譯window debug版本

編譯步驟同上: 配置引數加上--debug即可 a) win32 debug版本 命令合集:
  1. cd /d  C:\openssl-1.1.0f    
  2. perl Configure VC-WIN32  shared no-asm --debug --prefix="C:/openssl-1.1.0f/win32-debug" --openssldir="C:/openssl-1.1.0f/win32-debug/ssl"    
  3. nmake    
  4. nmake test    
  5. nmake install    
  6. nmake clean    

b) win64 debug版本 命令合集:
  1. cd /d  C:\openssl-1.1.0f    
  2. perl Configure VC-WIN64A  shared no-asm --debug --prefix="C:/openssl-1.1.0f/win64-debug" --openssldir="C:/openssl-1.1.0f/win64-debug/ssl"    
  3. nmake    
  4. nmake test    
  5. nmake install    
  6. nmake clean  

參考文獻:

2. 原始碼C:\openssl-1.1.0f下的INSTALL檔案