標籤:
到OpenSSL官方網站下載OpenSSL原始碼包
1、下載 openssl-1.1.0.tar.gz
2、安裝 ActivePerl, 可以到http://www.activestate.com/activeperl/downloads下載最新版本, 需要用到 perl 解譯器。
註:Perl 最低版本要求5.10以上,Windows XP使用者最後支援版本ActivePerl 5.20.2.2002 版本
3、使用 VS2010 下的 Visual Studio 2010 Command Prompt 進入控制台模式 (這個模式會自動化佈建各種環境變數,根據編譯32位、64位、Itanium自己選擇)。
4、安裝dmake,ppm install dmake
5、解壓縮 openssl 原始碼包,進入 openssl 的根目錄, 如 E:\openssl-1.1.0。
6、perl configure VC-WIN32
必須在 c:\openssl-1.1.0 目錄下執行該命令, 否則找不到 Configure 檔案, 這時就必須指定完整的 Configure 檔案路徑。
64編譯的話 Win64/x64 執行 perl Configure VC-WIN64A;Win64/IA64 執行 perl Configure VC-WIN64I。
7、在正式編譯之前
(1). 找到 c:\openssl-1.1.0\configdata.pm和c:\openssl-1.1.0\makefile兩個檔案, 用記事本開啟, 搜尋 “/MD” 字串, 替換成 “/MT”, 這將導致靜態連結 C 運行, 避免了在目標機器上安裝 VC 再發行包等等操作。
8、編譯, nmake
9、編譯, nmake test
10、編譯, nmake install
註:openssl 1.1.0開始由原先的libeay32.dll、ssleay32.dll變成了libcrypto-1_1.dll、libssl-1_1.dll,一些加密方式也發生了變化。
比如原先:
C:\>echo test|openssl enc -base64 -aes-256-cbc -k 123 得到密文:
U2FsdGVkX19HgMwgeLRw6KIOvhXKrz1keMbCrFuvfh8=
然後執行C:\>echo U2FsdGVkX19HgMwgeLRw6KIOvhXKrz1keMbCrFuvfh8=|openssl enc -base64 -aes-256-cbc -k 123 -d 解密得到原文:
test
可是在1.1.0中解密會失敗。
在 Windows下用 Visual Studio 編譯 OpenSSL 1.1.0