1. Windows下openssl的下載安裝和使用方法
安裝openssl有兩種方式,第一種直接下載安裝包,裝上就可運行;第二種可以自己下載源碼,自己編譯。下面對兩種方式均進行詳細描述。
一、下載和安裝openss
方法一:直接使用openssl安裝包
Window 的openssl的安裝包的下載地址為:
一般在安裝openssl之前還需要vs的一些插件,該地址中也提供了相關插件的下載。如下圖即為openssl的安裝及其vs插件在下載網頁的截圖。
方法二:自己編譯openssl
此過程比較復雜,需要先安裝perl、vs等軟體,然後才能編譯openssl。
1、下載並安裝perl,
1)下載路徑:
http://www.activestate.com/activeperl/downloads/
2)安裝與配置:
直接運行安裝文件(例如:ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)即可完成安裝;安裝過程將自動完成環境變數的配置(安裝完成之後,可以在系統環境變數里看到perl的bin目錄(例如: C:Program Filesperlsitein;)已經被加入進來),無需再手工配置;
3)測試安裝是否成功:
進入perl安裝目錄的eg文件夾,執行perl example.pl若顯示Hello from ActivePerl!,則說明Perl安裝成功。如下圖所示:
perl安裝成功之後就可以開始使用Perl的相關命令來進行OpenSSL的安裝了。
2、openssl可以自己下載源碼編譯也可以直接下載安裝包安裝完之後即可使用。
2.1使用源碼編譯openssl
1) 下載openssl源碼的路徑:
http://www.openssl.org/source/
2)配置VS2005的環境變數(因為後面編譯openssl時,將會用到vs2005自帶的nmake工具)。
執行VS2005的bin目錄下(例如:C:Program FilesMicrosoft Visual Studio 8VCin)的vcvars32.bat文件即可完成配置,如下圖所示:
3)配置openssl
(1)將下載後的openssl壓縮文件(例如:openssl-1.0.1g.tar.gz)解壓縮到某目錄下(例如:C:Program Filesopenssl-1.0.1g);
(2)通過命令窗口,進入openssl的目錄C:Program Filesopenssl-1.0.1g中,執行perl Configure VC-WIN32即可完成配置,如下圖所示:
(3)執行do_masm
在openssl的目錄下執行msdo_masm,注意不能進入到ms下面直接執行do_masm,否則會提示找不到文件utilmakfiles.pl之類的錯誤。
(4)編譯openssl
在openssl目錄下(C:Program Filesopenssl-1.0.1g)執行nmake -f ms tdll.mak,如下圖所示:
注意:如果出現nmake不是內部命令或外部命令,也不是可運行程序的問題,則說明VS2005安裝的有問題,VS2005自帶有nmake編輯工具,在安裝目錄的VCBIN文件夾下(例如本機的位置為:C:Program FilesMicrosoft Visual Studio 8VCin),需將此路徑加入到環境變數中即可,如果不加,則執行nmake命令的時候,還需要在,命令nmake前加上它所在的目錄。
(5)測試openssl是否編譯成功
在openssl目錄下執行命令nmake -f ms tdll.mak test即可完成測試,如下圖所示
測試結束的時候會顯示passed all tests字樣,例如:
(6)openssl編譯完成之後,會在其目錄下生成文件夾out32dll(例如:C:Program Filesopenssl-1.0.1gout32dll),所生成的文件(例如openssl.exe還有其他動態庫等)就在該文件夾里。
二、使用openssl生成ca及證書
使用剛才編譯openssl生成的openssl.exe等可執行文件生成相應證書,命令與linux下生成ca和簽名證書的過程是一樣的,詳細操作可參考文章《Mosquito使用SSL/TLS進行安全通信時的使用方法》,該文地址為:
或者:
http://houjixin.blog.163.com/blog/static/3562801432205042955/
下面將使用一個現成的ca文件(ca.key和ca.crt)生成證書文件(client.key和client.crt):
1)創建一個目錄用於存放ca文件以及將要生成的證書文件,本例中將該目錄創建在out32dll目錄下:C:Program Filesopenssl-1.0.1gout32dll est,
2)執行命令生成證書的key文件:..openssl genrsa -out client.key 2048,如下圖所示:
3) 生成證書請求文件:..openssl req -out server.csr -key server.key -new
4) 生成證書文件:.. openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 36500
下面是其他網友的補充:
安裝環境:
操作系統:window7(64位)
C++編譯器:VS2010
工具下載:
下載ActivePerl-5.22或5.24(其他版本也可以):
下載地址:http://www.activestate.com/activeperl/downloads/ (安裝過程只要按照Windows下一般程序的安裝步驟進行即可)
下載openssl-1.0.1g(其他版本也可以)並解壓
下載地址:http://www.openssl.org/source/(建議解壓後的文件路徑為C:openssl,PS:只是為了下文的內容匹配,並且方便尋找,其他路徑也無不影響)。
安裝Perl
(我的安裝目錄為C:Perl64)
運行CMD命令,使用cd命令將運行目錄指向perl安裝目錄的eg文件夾, 執行perl example.pl若顯示Hello from ActivePerl!,則說明Perl安裝成功,可以開始使用Perl的相關命令來進行OpenSSL的安裝了。
(PS:如果你想看看原始的INSTALL文件,那麼請打開OpenSSL的解壓縮目錄,下面有兩個文件INSTALL.W32和INSTALL.W64,用記事本方式打開,你可以看到詳細的關於安裝的解釋)
安裝openssl
(最關鍵的步驟來了)
1)首先設定好環境變數,這步參照網上的教程後發現後面的編譯步驟不成功,找了很就才發現是這部設置的不對才導致的。
設定環境變數:桌面計算機圖標右鍵-屬性-高級系統設置-環境變數-在系統變數當中找到變數名稱為path的變數(如果沒有找到這新建)點擊編輯-在變數名稱中填入C:Program Files (x86)Microsoft Visual Studio 10.0VCin;C:Perl64in;c:windowssystem32-點擊確定完成設定。(說明:C:Program Files (x86)Microsoft Visual Studio 10.0VCin路徑是VS2010的路徑。C:Perl64in是運行perl的路徑,不若不設定那麼perl命令將找不到。c:windowssystem32這個路徑很少提到但是很重要,如果不設置那麼會造成後面vcvars32.bat環境變數執行出錯。)到此環境變數路徑設置好之後重啟下電腦才能生效。
2)使用Visual Studio命令提示(2010)進入控制台模式
開始菜單-所有程序-Microsoft Visual Studio 2010-Visual Studio Tools-Visual Studio命令提示(2010),(PS:以管理員身份運行), 使用cd命令將目錄指向C:Program Files (x86)Microsoft Visual Studio 10.0VCin(PS:自己的VC安裝路徑), 命令行鍵入vcvars32,運行vcvars32.bat..完成後進入OpenSSL源碼的目錄(C:openssl)
3)執行Configure命令(配置編譯參數)(需將目錄跳到OpenSSL源碼目錄下)
在命令行中鍵入perl configure VC-WIN32 --prefix=c:openssl(PS:--prefix=c:openssl命令為指定安裝位置)
4)運行msdo_ms命令(需將目錄跳到OpenSSL源碼目錄下)
在命令行中鍵入msdo_ms。
5)運行nmake -f ms tdll.mak命令進行代碼編譯(需將目錄跳到OpenSSL源碼目錄下)
編譯分兩種情況,生成靜態庫和動態庫
(1) 如果是編譯OpenSSL動態庫,則在命令行鍵入 nmake -f ms tdll.mak
編譯成功課在文件夾out32dll裡面查看輸出的文件,包括應用程序的exe文件、lib文件、dll文件。
(2) 如果是編譯OpenSSL靜態庫,則在命令行鍵入 nmake -f ms t.mak
編譯成功課在文件夾out32裡面查看輸出的文件,包括應用程序的exe文件、lib文件。
6)測試使用命令nmake -f ms tdll.mak test(若安裝成功則可以使用此命令來驗證)
使用openssl
當VS2010工程需要用到openssl庫時,在包含目錄中胎添加openssl安裝目錄的include目錄, 來庫目錄中添加out32dll目錄。
或者將OpenSSL下的include文件夾、lib文件、dll文件考出,使用的時候包含進去就行了。
另外還有幾個命令可能會用到:
測試OpenSSL動態庫:nmake -f ms tdll.mak test
測試OpenSSL靜態庫:nmake -f ms t.mak test
安裝OpenSSL動態庫:nmake -f ms tdll.mak install
安裝OpenSSL靜態庫:nmake -f ms t.mak install
清除上次OpenSSL動態庫的編譯,以便重新編譯:nmake -f ms tdll.mak clean
清除上次OpenSSL靜態庫的編譯,以便重新編譯:nmake -f ms t.mak clean