windows平台下編譯openSSL


由於信息安全大賽要使用加密算法,查找相關文檔之后決定使用openSSL。OpenSSL整個軟件包大概可以分成三個主要的功能部分:密碼算法庫、SSL協議庫以及應用程序。OpenSSL的目錄結構自然也是圍繞這三個功能部分進行規划的。

編譯openSSL的源碼有三種方式,具體的情況源碼根目錄的Makefile中有說明;

(1)windows平台下使用Microsoft Visual C++編譯器編譯:

(2)windows平台下使用GNU MinGW和Cygwin編譯:

(3)在Linux平台下使用gcc編譯:

首先我們看一看openssl-1.0.1的源碼,源碼根目錄的README文件(看軟件包的README文件是個好習慣!)中有:

  

  To install this package under a Unix derivative, read the INSTALL file.  For
 a Win32 platform, read the INSTALL.W32 file.  For OpenVMS systems, read
 INSTALL.VMS.

 所以在windows平台下編譯應該按照INSTALL.W32文件來做,在Linux平台下面按照INSTALL文件來做。

(1)windows平台下面使用cl編譯器來編譯:

  如果你想使用Visual C++的匯編器來編譯,那么是首先要有nasmw.exe或者nasm.exe。並且把他們放到PATH環境變量中。

  首先生成配置文件,把平台配置為VC-WIN32:

   > perl Configure VC-WIN32 --prefix=c:\some\openssl\dir

  --prefix指定openssl被安裝的目錄。

  然后,用匯編器執行Makefile文件。

  

   - If you are using NASM then run:

     > ms\do_nasm

   - If you don't want to use the assembly language files at all then run:

     > perl Configure VC-WIN32 no-asm --prefix=c:/some/openssl/dir
     > ms\do_ms

      然后在VC的控制台中運行:
     > nmake -f ms\ntdll.mak

  如果一切正常,你會獲得一些dll文件和exe文件,他們存放在out32dll文件夾中。

  如果你想要測試文件,那么:

   > nmake -f ms\ntdll.mak test

  要安裝openssl的話,使用:

   > nmake -f ms\ntdll.mak install

 

在使用VC編譯之后生成的是在out32dll里面的libeay32.lib以及ssleay32.lib這兩個靜態庫,以及libeay23.dll和ssleay23.dll兩個動態庫。

在使用Cygwin給MinGW編譯生成的是根目錄下面的libcrypto.a和libssl.a這兩個靜態庫。

(2)Windows 平台下使用GNU MinGW和Cygwin來編譯

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM