Windows下安裝OpenSSL及其使用


方法一:

    

Windows binaries can be found here:

http://www.slproweb.com/products/Win32OpenSSL.html 

You can do this conversion with the OpenSSL library

http://www.openssl.org/


 

方法二:(手動編譯)

 

1. 下載最新版本的Perl,安裝后重啟系統。

http://www.activestate.com/activeperl/downloads

 

2.下載 latest openssl並解壓到C:\openssl-0.9.8k

http://www.openssl.org/source/

參考openssl目錄下的install.win32說明進行安裝:

1、進入解壓目錄。

>cd C:\openssl-0.9.8k

2、運行Configure

>perl Configure VC-WIN32

>perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0

【執行" perl Configure VC-WIN32 no-asm -DOPENSSL_USE_IPV6=0" no-asm表示沒有用NASM編譯,DOPENSSL_USE_IPV6=0 禁用IPV6,避免出現NMAKE : fatal error U1077: 'cl' :
return code '0x2'錯誤;這里為什么VC-WIN32,而不是64 ,我想應該是我們的IDE vc6.0是32的。】

如不成功會有明顯提示。

3、創建Makefile文件。

>ms\do_ms

推薦使用這種方式,另外兩種方式 如果使用也必須保證本機有編譯器才能使用。

:ms\do_masm (默認vc 自帶的編譯器;也也以自己下載安裝)

:ms\do_nasm (需要自己下載)

4、配置VC環境變量。

>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin

  >vcvars32.bat

5、編譯動態鏈接庫。

>cd C:\openssl-0.9.8k

>nmake -f ms\ntdll.mak

可能會缺少“ml.exe”,可下載masm並把其中的ml.exe拷貝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下即可。

 

運行 nmake -f ms\ntdll.mak test.檢查上一部編譯是否成功。正常的話會執行編譯后的測試程序

至此OpenSSL在windows下編譯完成,編譯得到的dll和lib文件位置:靜態庫libeay32.lib和ssleay32.lib位於 out32文件夾下,動態庫libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位於 out32dll文件夾下。

6、為VC添加頭文件和靜態鏈接庫路徑。

ToolsàOptionsàDirectores,在Include files中增加C:\openssl-0.9.8k \inc32目錄;在Libray files中增加C:\openssl-0.9.8k\out32dll

7、編寫OpenSSL程序,可參考C:\openssl-0.9.8k\demos

1)包含相應頭文件

#include <openssl/***.h>

(2) 添加靜態鏈接庫

#pragma comment(lib, "libeay32.lib")

#pragma comment(lib, "ssleay32.lib")

ProjectàSettingsàLinkàObject\library modules填寫libeay32.lib ssleay32.lib

3)將動態鏈接庫ssleay32.dll, libeay32.dll復制到C:\WINDOWS\system32Debug目錄下,確保動態鏈接庫在正確的路徑。



 

可能遇到的問題:

1、NMAKE : fatal error U1077: 'ml' : return code '0x1'

解決辦法:在環境變量PATH中添加路徑C:\masm32\bin,並按照參考資料3修改ml.exe文件。

2、NMAKE : fatal error U1077: 'cl' : return code '0x2'

解決辦法:去掉ipv6(命令行中執行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)

3、fatal error LNK1103: debugging information corrupt; recompile module

解決辦法:去掉ms文件夾下對應文件nt.mak或ntdll.mak文件中/debug選項


免責聲明!

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



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