1. 编译OpenSSL所需工具:
・ActivePerl 5.10.0 Build 1004
・MASM(Microsoft Visual Studio .NET 2003自带的汇编编译器)
・cl(Microsoft Visual Studio .NET 2003自带的编译器)
2. 编译步骤:
1) Extract tar.gz
Modifyfile openssl-1.0.2g\Configure
2) configure win32 ENV,modify and execute file Configure:
openssl-1.0.2g> perl Configure VC-WIN32 no-asm--prefix=E:\openssl\openssl-1.0.2g/
※以上为禁用汇编,如果使用openssl-1.0.2g>perlConfigure VC-WIN32会在执行步骤(5)时会有如下错误:
MASM version 8.00 or later is strongly recommended.tmp32dll\sha256-586.asm(269) : error A2042: statement too complex
tmp32dll\sha256-586.asm(269) : error A2039: line too long
NMAKE : fatal error U1077: 'ml' : リターン コード '0x1'
Stop.
3) Create Makefile
openssl-1.0.2g>ms\do_ms
note:另外两种方式:如果使用也必须保证本机安装有相应的编译器才能使用。
:ms\do_masm (默认vc自带的;也可以自己下载masm并安装)
:ms\do_nasm (需要下载nasm)
4) ConfigureVC environment
openssl-1.0.2g> "C:\Program Files(x86)\Microsoft Visual Studio .NET 2003\Vc7\bin\VCVARS32.BAT"
如果使用VisualStudio .NET 2003 command prompt可省去此步
5) Compile dynamic link library
openssl-1.0.2g>nmake -f ms\ntdll.mak (test: nmake -fms\ntdll.mak test)
6) Change dll name under out32dll for our own use.
openssl-1.0.2g> out32dll\
libeay32.dll-> wfRestCrypto.dll
libssl32.dll-> wfRestSsl.dll
说明:outeay32目录下生成的dll有:libeay32.dl和ssleay32.dll,ssleay32.dll就是手顺(6)中提到的libssl32.dll,openssl在版本升级之后,将在win32平台上编译生成的文件名libssl32.dll修改成了ssleay32.dll。