Windows 下编译 OpenSSL

简述

OpenSSL 是一个开源的第三方库,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在 Win32 OpenSSL 上下载已经编译好的 OpenSSL 库是省力省事的好办法。对于高级的开发用户,可能需要适当的修改或者裁剪 OpenSSL,那么编译它就成为了一个关键问题。

下面,主要讲述如何在 Windows 上编译 OpenSSL 库。

 

 

环境准备

  1. 下载并安装 Visual Studio(以 VS 2015 为例)。

  2. 下载并安装 ActivePerl。 
    下载地址:http://www.activestate.com/activeperl/downloads 
    我下载的是:ActivePerl-5.26.0.2600-MSWin32-x64-403866.exe

    打开命令提示符,定位到 D:\Program Files\Perl\eg 目录,执行 perl example.pl,若提示 Hello from ActivePerl!则说明 Perl 安装成功:

    这里写图片描述

  3. 下载并安装 Nasm 汇编器,并将 D:\Program Files\NASM 添加到系统环境变量 Path 中。 
    下载地址:http://www.nasm.us/ 
    我下载的是:nasm-2.13.01-installer-x64.exe

  4. 下载并安装 OpenSSL 
    下载地址:http://www.openssl.org/ 
    我下载的是:openssl-1.0.2m.tar.gz

    完成上述所有步骤,将 OpenSSL 包解压至 E:\openssl-1.0.2m,便可以进行编译了。

    注意: 解压后的目录中有两个文件 - INSTALL.W32、INSTALL.W64,包含了 OpenSSL 的各个编译步骤。

编译步骤

  1. 打开命令提示符,定位至 E:\openssl-1.0.2m

    这里写图片描述

  2. 输入 perl Configure VC-WIN32 --prefix=E:\OpenSSL(将其安装到 E:\OpenSSL):

    这里写图片描述

  3. 输入 ms\do_nasm

    这里写图片描述

  4. 将命令提示符定位至 D:\Program Files\Microsoft Visual Studio 14.0\VC\bin, 然后输入vcvars32.bat

    这里写图片描述

    如果没有这一步,会提示 nmake 不是内部或外部命令等一系列错误。

  5. 再次将命令提示符定位至 E:\openssl-1.0.2m,然后输入 nmake -f ms\ntdll.mak

    这里写图片描述

    完成之后,会在 openssl-1.0.2m 目录下生成一个名为 out32dll 的文件夹,里面包含了一些动态库和 exe 文件:

    这里写图片描述

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

    这里写图片描述

  7. 输入nmake -f ms\ntdll.mak install

    这里写图片描述

    完成之后,会在 E:\OpenSSL 目录下生成 bin、include、lib、ssl 四个文件夹:

    这里写图片描述

注意:

  • 以上编译的是 release 版本,若要编译 debug 版,将上述第 2 步中的 VC-WIN32 改成 debug-VC-WIN32即可。
  • 若要编译静态库,则用 ms\nt.mak 替换掉上面用到的 ms\ntdll.mak 即可。
  • 若要生成不带汇编支持的库,则需将上述第 2、3 步用 perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL 和 ms\do_ms 替换。
  • 在 E:\openssl-1.0.2m\tmp32dll 文件夹下包含相应的汇编文件。

转载于:https://my.oschina.net/ffs/blog/1607456

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值