Windows下OpenSSL编译

Windows下OpenSSL编译

  • OpenSSL源码下载
  • 编译工具准备
    • 1.下载ActivePerl
    • 2. 环境变量
  • 进行编译
    • 1.打开VS命令行工具
    • 2.进入openssl源码目录下,执行配置
    • 3.编译
    • 4.测试编译结果
    • 5.安装

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”
Windows下OpenSSL编译_第1张图片

这里简单介绍以下这几个参数的含义
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
Windows下OpenSSL编译_第2张图片
如果通过测试会出现 passed all tests 。

5.安装

OpenSSL1.1.0以下:
nmake -f ms\nt.mak install
OpenSSL1.1.0及以上
nmake install

你可能感兴趣的:(openssl,windows)