Windows下编译OpenSSL
来源:互联网 发布:lol网络不稳已断开连接 编辑:程序博客网 时间:2024/05/12 00:02
如何在Windows下编译OpenSSL?
OpenSSL是一个开源的第三方库,它实现了SSL(Secure SocketLayer)和TLS(Transport Layer Security)协议,被广泛企业应用所采用。对于一般的开发人员而言,在http://slproweb.com/products/Win32OpenSSL.html 上下载已经编译好的OpenSSL库是省力省事的好办法。对于高级的开发用户,他们可能需要适当的修改或者裁剪OpenSSL,那么编译它就成为了一个关键问题。本篇博客就是主要讲述如何早Windows上编译OpenSSL库?
笔者按照一定的步骤成功了编译了OpenSSL库,步骤如下:
1)在微软网站下载并安装VS Studio,笔者写博客之时的最新版本是2013,连接如下:http://msdn.microsoft.com/subscriptions/downloads/#searchTerm=&ProductFamilyId=529&Languages=en&PageSize=10&PageIndex=0&FileId=0 。
2)从http://www.activestate.com/activeperl/downloads 下载并安装ActivePerl。
3)从http://www.nasm.us/ 下载并安装Nasm汇编器。
4)从http://www.openssl.org/下载并安装OpenSSL的最新Release包。笔者写博客之时,最新的OpenSSL包是:4459777 Feb 11 16:34:23 2013 openssl-1.0.1e.tar.gz (MD5) (SHA1) (PGP sign) [LATEST]
这里需要强调的是,读者未必需要完全按照笔者的步骤编译OpenSSL库,这里的部分次序是可以互换的。
在完成所有上述5步后,我们就可以解压缩OpenSSL包,在对它进行修改便可以编译了。在解压缩后,所有的源代码放在openssl-1.0.1e目录下,在此目录下,有两个文件INSTALL.W32, INSTALL.W64需要被关注。打开其中的任何一个文件,你会看到如何编译OpenSSL的各个步骤。这里,笔者将会再啰嗦一下。
1)打开VS Studio命令行工具,如图1所示。若编译64位OpenSSL库,请打开Visual Studio x64 Win64 Command Prompt,反之亦然。
图1
2)配置编译文件及安装目录;
编译Win32:perl Configure VC-WIN32 --prefix=c:\some\openssl\dir
编译Win64:perl Configure VC-WIN64A
“c:\some\openssl\dir”目录可以改成任何你希望的安装目录
3)搭建编译环境:
ms\do_nasm
ms\do_ms
对于64位编译,将ms\do_ms替换成ms\do_win64a
4)编译OpenSSL
nmake -f ms\ntdll.mak
5)安装编译生成的库到“c:\some\openssl\dir”
nmake -f ms\ntdll.mak install
执行后搞定了吗?若没有,是不是遗忘的中间的某个步骤?
【思考题】
1)在Win64编译中,有VC-WIN64I配置选项,它表示什么?
2)如果不想使用汇编代码,那么应该如何处理呢?
- windows下 openssl编译
- windows下编译openssl
- windows下编译openssl
- Openssl windows下编译
- Windows下编译OpenSSL
- windows下编译openssl
- windows 下编译openssl
- Windows下编译OpenSSL
- windows下编译openssl
- windows下openssl编译
- windows下编译openssl
- Windows下编译OpenSSL
- openssl windows下编译
- Windows下编译OpenSSL
- windows下编译openssl
- windows下编译openssl
- Windows下编译OpenSSL
- Windows下编译OpenSSL
- struts2中一些零碎的小知识
- 递归中的递归与变量分类
- 虚拟机VMware下安装RedHat_Linux_9[1].0_图解
- Oracle-SQL-group by-报错:不是单组分组函数
- linux分卷压缩解压学习记录
- Windows下编译OpenSSL
- linux 常用命令,secureCRT
- Windows中快速获取文件目录的方法
- 关于UNIX/Linux下SUID、SGID的解析
- IOS修改启动页面后报NSUnknownKeyException异常 (个人)
- mysql:21个性能优化最佳实践之6[不要使用ORDER BY RAND()]
- Add Binary
- jquery.uploadify.min.js上传图片使用
- Cocos2d-x生命周期分析