转载: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:\OpenSSLms\do_ms 替换。
  • E:\openssl-1.0.2m\tmp32dll 文件夹下包含相应的汇编文件。



原文链接:https://blog.csdn.net/liang19890820/article/details/51658574#commentsedit
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值