分享

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

 Runs丶SS11 2015-12-10

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

1.      从https://www./source/下载OpenSSL源代码 openssl-1.0.1g版本;

2.        从http://www./activeperl/downloads下载ActivePerl5.16.3 x86(ActivePerl为perl的一个脚本解释器);

3.        将ActivePerl安装到D:\ProgramFiles\Perl64目录下,打开命令提示符,将其定位到D:\ProgramFiles\Perl64\eg 目录下,执行perl  example.pl ,若提示Hello fromActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了;

4.        将openssl-1.0.1g解压缩到E:\OpenSSL\openssl-1.0.1g目录下;

5.        从http:///projects/nasm/下载nasm 2.07,将其安装到D:\ProgramFiles\NASM中,并将D:\ProgramFiles\NASM添加到系统环境变量Path中;

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

7.        输入perl  Configure  VC-WIN32 --perfix=E:\OpenSSL\openssl (将其安装到E:\OpenSSL\openssl);

8.      输入ms\do_nasm ;

9.        将命令提示符定位到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin , 然后输入 vcvars32.bat,会显示Settingenvironment for using Microsoft Visual Studio 2010 x86 tools. 如果没有这一步,会提示nmake不是内部或外部命令;

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

11.    输入 nmake  –f  ms\ntdll.mak ;执行完后会在openssl-1.0.1g目录下生成一个out32dll文件夹,里面包含了一些静态库、动态库和.exe文件;

12.    输入 nmake  -f  ms\ntdll.mak test ;若最终显示passed  all  tests说明生成的库正确;

13.    输入 nmake  -f  ms\ntdll.mak install ;则会在E:\OpenSSL\openssl目录下生成bin、include、lib、ssl四个文件夹;

14.    以上编译的是release库,若编译debug库,则将以上第7步中的VC-WIN32改成debug-VC-WIN32即可;

15.    若编译静态库则用ms\nt.mak替换掉上面用到的ms\ntdll.mak即可;

16.    若生成不带汇编支持的库,则需将以上第7、8步用perl  Configure  VC-WIN32 no-asm --prefix=E:\OpenSSL\openssl  和 ms\do_ms替换即可;

17.  在E:\OpenSSL\openssl-1.0.1g\tmp32dll文件夹下包含相应的汇编文件。

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

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目录下,运行:

VCVARS32.BAT

设置环境变量。

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

ms\do_ms      //不执行汇编语言编译

该命令不执行汇编语言编译,如报告文末错误,可以尝试ms\do_masm(使用汇编语言)、ms\do_nasm、ms\do_nt等,这几个配置文件是针对不同的系统配置写的批处理。

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

- If you are using MASM then run:

> ms\do_masm

- If you are using NASM then run:

> ms\do_nasm

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

> ms\do_ms

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

nmake -f ms\ntdll.mak

最终编译动态库完成后,输出都在out32dll目录下:包括可执行文件、两个dll 和两个lib文件: libeay32.dll, libeay32.lib, ssleay32.dll, ssleay32.lib。

如果需要使用openssl命令,还需要在系统环境变量path中增加 c:\openssl\out32dll路径,因为openssl.exe就在该目录下,声明后可以直接在命令行中使用openssl命令。


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

  测试OpenSSL动态库:nmake -f ms\ntdll.mak test
  测试OpenSSL静态库:nmake -f ms\nt.mak test
  安装OpenSSL动态库:nmake -f ms\ntdll.mak install
  安装OpenSSL静态库:nmake -f ms\nt.mak install
  清除上次OpenSSL动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean
  清除上次OpenSSL静态库的编译,以便重新编译:nmake -f ms\nt.mak clean


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多