Windows下OpenSSL编译
OpenSSL源码下载
在 https://www.openssl.org网站下载openssl源码
或用git命令从github上下载 git clone https://github.com/openssl/openssl.git
目前OpenSSL包含两个比较大的版本,openSSL1.0.x及以下和openSSL1.1.x以上,两个版本在Windows上编译过程会略有不同,要注意区分。
在Linux系统解压openssl开发包文件
tar -xzvf openssl-1.x.x.tar.g
在windows上需使用其他辅助压缩软件(如7z等进行解压)
编译工具准备
1.下载ActivePerl
在windows下编译OpenSSL需下载ActivePerl工具。官方下载地址https://www.activestate.com/products/perl/downloads/。
但是目前官方只提供64位的ActivePerl工具,32位版本需要进行付费,这里提供一下本站的另一个资源本站安装包,可能需要一定积分下载。
下载完成后 ,一路Next完成安装。
另外编译OpenSSL需要MSVC工具,可以通过下载Visual Studio 进行安装。
2. 环境变量
将VS的路径写入环境变量PATH:
VS较低版本添加一下路径:
$(VS安装路径)\VC\bin\amd64
$(VS安装路径)\VC\bin
VS较高版本添加以下路径(目前已知VS2017以上为此目录):
$(VS安装路径)\VC\Auxiliary\Build
$(VS安装路径)\Common7\IDE
我安装的是VS2017所以添加路径为:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build
进行编译
1.打开VS命令行工具
在开始菜单中找到所安装的VS文件夹
打开对应版本的本机编译工具,32位就选x86 ,64位就选x64。如果对位数无要求可以选两个都包含的。
2.进入openssl源码目录下,执行配置
切换到解压后的OpenSSL文件夹路径下执行以下命令
perl configure no-asm no-shared VC-WIN32 --prefix=“E:\arch\openssl-release”
这里简单介绍以下这几个参数的含义
no-shared : 使用静态编译,生成静态库(去掉此段位就是编译动态库的)
VC-WIN32 :使用32位编译器,如需要谁用64位则此段位: VC-WIN64
–prefix :后跟的位编译后的安装文件夹
3.编译
这里注意OpenSSL在1.1.0版本是编译命令有一定改变
OpenSSL1.1.0以下版本使用以下执行命令:
nmake -f ms\nt.mak
OpenSSL1.1.0及以上版本则直接执行命令:
nmake
此步需要一定时间,请耐性等待编译。
4.测试编译结果
OpenSSL1.1.0以下:
nmake -f ms\nt.mak test
OpenSSL1.1.0及以上
nmake test
如果通过测试会出现 passed all tests 。
5.安装
OpenSSL1.1.0以下:
nmake -f ms\nt.mak install
OpenSSL1.1.0及以上
nmake install