博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2013编译OpenSSL
阅读量:6824 次
发布时间:2019-06-26

本文共 1519 字,大约阅读时间需要 5 分钟。

简述

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

步骤

  1. 在微软网站下载并安装Visual Studio,我用的是2013版。

  2. 下载并安装ActivePerl。 

    下载地址: 
    我下载的是:5.22.1.2201 Windows Installer (MSI)

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

  3. 下载并安装Nasm汇编器,并将D:\Program Files\NASM添加到系统环境变量Path中。 

    下载地址: 。 
    我下载的是:nasm-2.12.01-installer-x86.exe。

  4. 下载并安装OpenSSL。 

    下载地址:。 
    我下载的是:openssl-1.0.2h.tar.gz (SHA256) (PGP sign) (SHA1)

在完成所有上述步骤,我们就可以解压缩OpenSSL包(解压至:E:\openssl-1.0.2h),在对它进行修改便可以编译了。解压后的目录中有两个文件INSTALL.W32、INSTALL.W64需要被关注。打开其中任何一个文件,你会看到如何编译OpenSSL的各个步骤。

  1. 将命令提示符定位到E:\openssl-1.0.2h

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

    这里写图片描述

  3. 输入ms\do_nasm。

    这里写图片描述

  4. 将命令提示符定位到D:\Program Files\Microsoft Visual Studio 12.0\VC\bin, 然后输入vcvars32.bat(如果没有这一步,会提示nmake不是内部或外部命令)。

    这里写图片描述

  5. 再次将命令提示符定位到E:\openssl-1.0.2h

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

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

    这里写图片描述

  8. 输入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.2h\tmp32dll文件夹下包含相应的汇编文件。

更多参考

http://blog.csdn.net/u011012932/article/details/51658574

你可能感兴趣的文章
【HEVC学习与研究】41、HEVC帧内编码的原理和实现(中)
查看>>
机器人在医疗领域的应用前景
查看>>
创新ICT,成就智慧机场
查看>>
区块链如何改变中小企业从事商业贸易的方式
查看>>
VDI直接连接存储 VS. 共享存储
查看>>
专家谈零售大数据:以前没想到能做的现在可以做了
查看>>
《R语言游戏数据分析与挖掘》一3.3 高级绘图函数
查看>>
大数据带来六种全新商业模式
查看>>
美国政府网站发现JS下载器 攻击者利用网站高信誉度用于投放Cerber勒索软件
查看>>
Struts2再爆远程代码执行漏洞CVE-2017-12611 S2-053 还是升级到最新版本吧
查看>>
为什么你说“就差一个码农了”,我们是拒绝的
查看>>
Struts2远程代码执行漏洞CVE-2017-9805 s2-052 绿盟科技发布扫描工具
查看>>
安全周表彰国家优秀网络安全人才 郑文彬等10人获奖
查看>>
CISO最关注的安全问题?赛门铁克已挖掘出并给出解决方案
查看>>
十分钟看懂图像语义分割技术
查看>>
AI领域三大范式的发展简史
查看>>
《云计算:原理与范式》一第2章 迁移到云2.1 引言
查看>>
《工业控制网络安全技术与实践》一一1.5 本章小结
查看>>
报道称土耳其屏蔽网盘和GitHub以防止邮件泄露
查看>>
工信部张峰:统一的5G标准才能共享产业规模效应
查看>>