close
下載OpenSSL:http://www.openssl.org/
下載ActivePerl:
http://www.activestate.com/activeperl/

Step1:將openssl-0.9.8g.tar.gz解開。
Step2:安裝ActivePerl。
Step3:編譯出openssl LIB and DLL與一些範例執行檔,並且自動輸出到該openssl目錄下的out32dll。
(一)在console模式下進入openssl目錄,並且打入perl Configure VC-WIN32的指令
(二)執行ms\do_ms.bat
(三)執行nmake -f ms\ntdll.mak
Step4:透過VC6.0自我編譯出範例
(一)於VC6開一個新的專案
File -> New -> Projects -> Win32 Console Application
        project name: test
        location[default]: c:\Program Files\Microsoft Visual Studio\MyProjects\openssl
        Click on Win32 Console Application
        Click on OK
        What kind of windows application...? [default]: An empty project
        Click on Finish Click on OK
(二)將兩個LIB加入專案
Project -> Add to Project -> Files
        select the file c:\mystuff\WinNTL-xxx\tests\QuickTest.cpp
        Click on OK
(三)設定標頭檔.h目錄
Project -> Settings -> C/C++
        Category: Preprocessor. Additional include directories: c:\openssl\inc32
        Click on OK.
(四)加入欲編輯的source,例如xxx.c
Source Files右鍵Add files to folder,選擇你要編譯的.c檔案
(五)按下F7編譯
(六)將openssl\out32dll\的兩個DLL複製到C:\%SystemRoot%\system32下
(七)按下ctrl + F5執行即可

備註一:
當在乎叫PEM_write_RSAPublicKey(File *fp, RSA *rsa)或是其他PEM_read等等的函示時候,因為openssl的預設函示庫並沒有包含該函示,務必在欲編譯的應用程式加入openssl/ms /applink.c一同編譯,才不會出現"OPENSSL_Uplink(1011C010,07): no OPENSSL_Applink"的錯誤訊息。

備註二:
在匯出Public Key時,務必使用PEM_write_RSA_PUBKEY而不是PEM_write_RSAPublicKey,最終結果如果使用PEM_write_RSAPublicKey的話,長度固定會少28bytes。當然讀取Public Key時,使用PEM_read_RSA_PUBKEY

備註三:
arrow
arrow
    全站熱搜

    阿智 發表在 痞客邦 留言(1) 人氣()