1. 程式人生 > >Windows下openssl的下載安裝和使用

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 Files\perl\site\bin;)已經被加入進來),無需再手工配置;

         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 Files\Microsoft Visual Studio 8\VC\bin)的vcvars32.bat檔案即可完成配置,如下圖所示:


         3)配置openssl

         (1)將下載後的openssl壓縮檔案(例如:openssl-1.0.1g.tar.gz)解壓縮到某目錄下(例如:C:\Program Files\openssl-1.0.1g);

(2)通過命令視窗,進入openssl的目錄C:\Program Files\openssl-1.0.1g中,執行“perl Configure VC-WIN32”即可完成配置,如下圖所示:


(3)執行do_masm

在openssl的目錄下執行ms\do_masm,注意不能進入到ms下面直接執行do_masm,否則會提示找不到檔案“util\makfiles.pl”之類的錯誤。


(4)編譯openssl

在openssl目錄下(C:\Program Files\openssl-1.0.1g)執行“nmake -f ms\ntdll.mak”,如下圖所示:


注意:如果出現“nmake不是內部命令或外部命令,也不是可執行程式”的問題,則說明VS2005安裝的有問題,VS2005自帶有nmake編輯工具,在安裝目錄的“VC\BIN”資料夾下(例如本機的位置為:C:\Program Files\Microsoft Visual Studio 8\VC\bin),需將此路徑加入到環境變數中即可,如果不加,則執行nmake命令的時候,還需要在,命令nmake前加上它所在的目錄。

(5)測試openssl是否編譯成功

         在openssl目錄下執行命令“nmake -f ms\ntdll.mak test”即可完成測試,如下圖所示


測試結束的時候會顯示“passed all tests”字樣,例如:


 (6)openssl編譯完成之後,會在其目錄下生成資料夾out32dll(例如:C:\Program Files\openssl-1.0.1g\out32dll),所生成的檔案(例如openssl.exe還有其他動態庫等)就在該資料夾裡。

二、使用openssl生成ca及證書

         使用剛才編譯openssl生成的openssl.exe等可執行檔案生成相應證書,命令與linux下生成ca和簽名證書的過程是一樣的,詳細操作可參考文章《Mosquito使用SSL/TLS進行安全通訊時的使用方法》,該文地址為:

或者:

http://houjixin.blog.163.com/blog/static/35628410201432205042955/

下面將使用一個現成的ca檔案(ca.key和ca.crt)生成證書檔案(client.key和client.crt):

1)建立一個目錄用於存放ca檔案以及將要生成的證書檔案,本例中將該目錄建立在out32dll目錄下:C:\Program Files\openssl-1.0.1g\out32dll\test,

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