提醒:本页面将不再更新、维护或者支持,文章、评论所叙述内容存在时效性,涉及技术细节或者软件使用方面不保证能够完全有效可操作,请谨慎参考!

最近想研究一下OpenSSL,网上多数是讲在Linux下OpenSSL的编译和使用了,不过也有介绍Windows下编译和使用的,现在记录在这里,便于以后备查。

编译步骤:

1. 下载并安装ActivePerl (下载地址) ,记得下载Windows版本(MSWin32)的,然后还要注意你的系统是32位(x86)还是64位(x64)。

2. 下载并解压OpenSSL的源代码 (下载地址) 到指定目录,比如D:\openssl_src\。

3. 使用管理员权限打开Visual Studio的命令提示窗口,我这里打开的是VS2010。

VS2010 命令提示符.png

4. 切换到OpenSSL的目录,然后编译,命令如下:

cd D:\openssl_src
D:

perl configure VC-WIN32 
ms\do_ms 
nmake -f ms\ntdll.mak

5. 编译完成后,引用\out32dll目录下的生成库文件、动态链接库文件、OpenSSL执行文件和测试程序 openssl.exe libeay32.dll ssleay32.dll,但是现在运行openssl.exe可能会导致WARNING: can't open config file: /usr/local/ssl/openssl.cnf警告提示,据说解决的办法就是复制\apps目录下的 openssl.cnf文档到\out32dll目录下,不过我这里问题依旧。开发要用的头文件在\inc32\openssl目录下。

备注:如果第4步编译报错,据说解决办法是修改\ms目录下ntdll.mak文件,去掉/WX 编译选项,然后重新执行nmake -f ms\ntdll.mak命令。