花了两天时间,总算把Openssl在win2000上的适配搞定了,在此做一下总结。首先是需要的的编译环境和openssl版本。我用的是vc6.0编译器,perl用的是5.8.8.2版本,openssl为0.9.6i版本。下载链接奉上:vc6.0+perl5.8.8.2+openssl0.9.6i.zip-网络安全文档类资源-优快云下载
接下来具体说一下编译步骤及遇到的坑:
一、安装vc6.0,安装好之后将安装路径下的VC98\Bin添加到环境变量。
二、安装perl5.8.8.2,安装好之后将安装路径下的perl\bin添加到环境变量。

三、安装openssl0.9.6i,安装好之后启动cmd切换到openssl路径下,然后执行以下操作
1、执行命令perl Configure VC-WIN32,如果执行失败,检查环境变量配置是否正确。
2、执行命令ms\do_ms,切记windows系统一定要使用反斜杠,别问我怎么知道的,都是泪。如果此命令执行不成功,可以尝试ms\do_masm和ms\do_nasm命令。
3、切换cmd路径到VC98\Bin下,执行VCVARS32.BAT脚本向系统添加环境变量。这个时候cmd会提示执行成功。

4、再次切换路径到openssl路径下,执行nmake -f ms/ntdll.mak命令。
如果一切顺利,最后的输出都在out32dll目录下 : 包括可执行文件 、两个dll和两个lib文件。本人在执行第三步的时候虽然命令行提示执行成功了,但是环境变量并没有添加成功。所以在执行第四步的时候一直提示下面的错误:
![]()
打开VCVARS32.BAT会发现在命令行输出Setting environment for using Microsoft Visual C++ tools之后还有下面的操作内容:

经过分析发现是因为没有添加环境变量INCLUDE和LIB导致的,所以根据脚本中的提示,将vc6.0安装路径下的ATL\INCLUDE、INCLUDE、MFC\INCLUDE添加环境变量INCLUDE。将LIB、MFC\LIB添加到环境变量LIB。

环境变量添加之后,重启cmd进入openssl路径执行nmake -f ms/ntdll.mak命令就会编译成功了。

接下来说一下,openssl在实际项目中的应用,vs2008是最后一个支持win2000的编译器。打开项目属性-->C/C++-->常规-->附加包含目录输入编译好的openssl库的相对路径

然后在头文件中包含

最后进行RSA加解密测试,在win2000系统上运行。

经过测试,编译出来的openssl库在win2000上可以正常加解密。
本文档详细记录了在Windows 2000上使用VC6.0和Perl5.8.8.2编译openssl0.9.6i的过程,包括环境配置、编译步骤及遇到的问题。在编译过程中,重点介绍了如何解决环境变量设置错误导致的编译失败问题。最后,阐述了在VS2008项目中应用编译好的openssl库进行RSA加解密测试的方法,确保在Win2000系统上能够正常工作。
8606

被折叠的 条评论
为什么被折叠?



