如何安装 OPENSSL,网上可以搜索出很多教程,其实步骤不算复杂。
正常来讲, 流程如下:
1. 安装activePerl,因为OPENSSL源码需要用到perl指令。(http://www.activestate.com/activeperl/downloads)
2. 下载openssl源码。(https://www.openssl.org/source/)
3. 下载MASM,因为需要对汇编语言编译。(http://www.microsoft.com/en-us/download/)
4. 安装 VS2010,因为用到nmake作为编译器。(http://download.microsoft.com/download/5/c/1/5c156922-ca10-49d8-b7e7-9bf092c3b6eb/VS2010ExpressCHS.iso)
准备好上面提及的四大神器,就可以开始安装了。
1. 安装Perl
如果安装目录是C:\Perl64\,将perl的bin路径放到电脑的环境变量PATH。执行perl example.pl,若显示“Hello from ActivePerl!”,则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了。
2. 设置环境变量
初始化VC++环境变量,执行VCVARS32.bat(D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC目录下)
3. 配置环境
到OpenSSL目录下,执行Configure命令(配置编译参数)perl Configure VC-WIN32
4.编译
ms\do_ms
nmake -f ms\ntdll.mak (编译指令)
5. 测试是否正常
nmake -f ms\ntdll.mak test
理论上,就可以通过上面不详细的说明,可以把openssl的源码编译成库文件,并使用自己编译的库文件用于VC的编程。
如果想要详细点的图文介绍,网上搜索 “OPENSSL 安装”,即可。
于是,我想要说的重点来了,就是安装过程中,你会遇到各种各样奇奇怪怪的问题:
1. 下载好MASM,安装过程中,始终提示“Microsoft Visual C++ Express Edition 2005 required”,不过我已经安装好 VS2010了啊,查看环境变量,也是没问题了。好吧,我只好从vs2010的文件夹里面找到 "ML.EXE",直接放在 openssl 源码文件夹里面,就不用安装这东西了;
2. 进入编译过程,提示没有 “RC.EXE”,好吧,我又从 VS2010 里面把这个执行程序放进去了;
3. 继续编译,提示 PDB 格式不兼容,不知道什么原因,删除 *.pdb,重新走所有步骤,好,解决;
4. 继续编译,提示 VS 头文件有问题,各种语法错误。VS 头文件肯定没问题的,也不知道什么原因,nmake -f ms\ntdll.mak clean ,再重新编译;
5. 这下终于成功了,nmake -f ms\ntdll.mak test 测试也全部通过了。
6. 编译通过,就开始使用了。我有个使用openssl的服务器工具,一打开就提示“找不到 OPENSSL.CONF”,走进dos界面,设置
set OPENSSL_CONF=c:\OpenSSL-Win32\bin\openssl.cfg
7. 服务器找到我的配置文件了,可以正常使用,目前还有证书的问题要继续解决,不过安装OPENSSL应该算是搞定了。
8. 关机后,如果要再次编译,不能直接 nmake -f ms\ntdll.mak ,否则会提示:“NMAKE : fatal error U1077: “.\rc.EXE”: 返回代码“0xc0000135” Stop.” 重新走一下上面流程提到的步骤即可。