2024年3月19日发(作者:)

OpenSSL简介及在Windows系统上的编译步骤

OpenSSL在Windows7 32bit + vs2010中win32的编译步

骤:

1. 从下载OpenSSL源代码 openssl-1.0.1g版本;

2. 从下载ActivePerl5.16.3 x86(ActivePerl为perl的一个脚

本解释器);

3. 将ActivePerl安装到D:ProgramFilesPerl64目录下,打

开命令提示符,将其定位到D:ProgramFilesPerl64eg 目录下,执

行perl ,若提示Hello fromActivePerl! 则说明Perl安

装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了;

4. 将openssl-1.0.1g解压缩到E:OpenSSLopenssl-1.0.1g

目录下;

5. 从下载nasm 2.07,将其安装到D:ProgramFilesNASM

中,并将D:ProgramFilesNASM添加到系统环境变量Path中;

6. 将命令提示符定位到E:OpenSSLopenssl-1.0.1g;

7. 输入perl Configure VC-WIN32 --

perfix=E:OpenSSLopenssl (将其安装到E:OpenSSLopenssl);

8. 输入msdo_nasm ;

9. 将命令提示符定位到C:Program Files (x86)Microsoft

Visual Studio 10.0VCbin , 然后输入 ,会显示

Settingenvironment for using Microsoft Visual Studio 2010 x86

tools. 如果没有这一步,会提示nmake不是内部或外部命令;

10. 再次将命令提示符定位到E:OpenSSLopenssl-1.0.1g;

11. 输入 nmake –f ;执行完后会在openssl-

1.0.1g目录下生成一个out32dll文件夹,里面包含了一些静态库、动

态库和.exe文件;

12. 输入 nmake -f test ;若最终显示

passed all tests说明生成的库正确;

13. 输入 nmake -f install ;则会在

E:OpenSSLopenssl目录下生成bin、include、lib、ssl四个文件夹;

14. 以上编译的是release库,若编译debug库,则将以上第7

步中的VC-WIN32改成debug-VC-WIN32即可;

15. 若编译静态库则用替换掉上面用到的

即可;

16. 若生成不带汇编支持的库,则需将以上第7、8步用

perl Configure VC-WIN32 no-asm --

prefix=E:OpenSSLopenssl 和 msdo_ms替换即可;

17. 在E:OpenSSLopenssl-1.0.1gtmp32dll文件夹下包含相

应的汇编文件。

测试编译成功方案:(禁用汇编)

OpenSSL在Windows7 32bit + vs2012中win32的编译步

骤:

1、解压OpenSSL到系统盘

比如C:OpenSSL。

2、配置WIN32环境

32位系统打开 VS2012 X86本机命令提示工具

7.1 打开所以程序

7.2 找到Microsoft Visual Studio 2012

7.3 打开VS2012 x86本机命令提示工具

openssl-1.0.1k>perl Configure VC-WIN32 no-asm //禁用汇

3、进入VC BIN目录,配置VC环境变量

进入VS安装路径VC/Bin目录下,运行:

设置环境变量。

4、返回OpenSSL目录,创建makefile文件

msdo_ms //不执行汇编语言编译

该命令不执行汇编语言编译,如报告文末错误,可以尝试

msdo_masm(使用汇编语言)、msdo_nasm、msdo_nt等,这

几个配置文件是针对不同的系统配置写的批处理。

至于这几个命令区别如下,其它的暂时没用到未深究,有经验之

士欢迎赐教。

- If you are using MASM then run:

> msdo_masm

- If you are using NASM then run:

> msdo_nasm

- If you don't want to use the assembly language files at all

then run:

> msdo_ms

5、在Openssl目录下,执行编译

nmake -f

最终编译动态库完成后,输出都在out32dll目录下:包括可执行

文件、两个dll 和两个lib文件: , , ,

如果需要使用openssl命令,还需要在系统环境变量path中增加

c:opensslout32dll路径,因为就在该目录下,声明后

可以直接在命令行中使用openssl命令。

另外还有几个命令可能会用到:

测试OpenSSL动态库:nmake -f test

测试OpenSSL静态库:nmake -f test

安装OpenSSL动态库:nmake -f install

安装OpenSSL静态库:nmake -f install

清除上次OpenSSL动态库的编译,以便重新编译:nmake -f

clean

清除上次OpenSSL静态库的编译,以便重新编译:nmake -f

clean