Windows下安装OpenSSL及其使用

1. 下载最新版本的Perl,安装后重启系统。 windows

http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip 测试

2.下载 latest openssl并解压到C:\openssl-0.9.8k spa

http://www.openssl.org/source/ 命令行

参考openssl目录下的install.win32说明进行安装: debug

1、进入解压目录。 code

>cd C:\openssl-0.9.8k orm

2、运行Configure ip

>perl Configure VC-WIN32 ssl

如不成功会有明显提示。 get

3、建立Makefile文件。

>ms\do_ms

推荐使用这种方式,另外两种方式 若是使用也必须保证本机有编译器才能使用。

:ms\do_masm (默认vc 自带的编译器;也也以本身下载安装)

:ms\do_nasm (须要本身下载)

4、配置VC环境变量。

>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin

  >vcvars32.bat

5、编译动态连接库。

>cd C:\openssl-0.9.8k

>nmake -f ms\ntdll.mak

可能会缺乏“ml.exe”,可下载masm并把其中的ml.exe拷贝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下便可。

运行 nmake -f ms\ntdll.mak test.检查上一部编译是否成功。正常的话会执行编译后的测试程序

至此OpenSSL在windows下编译完成,编译获得的dll和lib文件位置:静态库libeay32.lib和ssleay32.lib位于out32文件夹下,动态库libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位于out32dll文件夹下。

6、为VC添加头文件和静态连接库路径。

ToolsàOptionsàDirectores,在Include files中增长C:\openssl-0.9.8k \inc32目录;在Libray files中增长C:\openssl-0.9.8k\out32dll

7、编写OpenSSL程序,可参考C:\openssl-0.9.8k\demos

1)包含相应头文件

#include <openssl/***.h>

(2) 添加静态连接库

#pragma comment(lib, "libeay32.lib")

#pragma comment(lib, "ssleay32.lib")

ProjectàSettingsàLinkàObject\library modules填写libeay32.lib ssleay32.lib

3)将动态连接库ssleay32.dll, libeay32.dll复制到C:\WINDOWS\system32Debug目录下,确保动态连接库在正确的路径。



可能遇到的问题:

一、NMAKE : fatal error U1077: 'ml' : return code '0x1'

解决办法:在环境变量PATH中添加路径C:\masm32\bin,并按照参考资料3修改ml.exe文件。

二、NMAKE : fatal error U1077: 'cl' : return code '0x2'

解决办法:去掉ipv6(命令行中执行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)

三、fatal error LNK1103: debugging information corrupt; recompile module

解决办法:去掉ms文件夹下对应文件nt.mak或ntdll.mak文件中/debug选项

相关文章
相关标签/搜索