本文持续更新,跟进当前日期最新的 OpenSSL 版本,标题括号内日期为本文的最后更新日期

1.1.1g 版本紧急修复日志

2020年4月21日,OpenSSL官网更新了1.1.1g版本,并指出了之前的版本有着重大的缺陷漏洞,以下摘自翻译后的官网原文:

安装 Strawberry Perl

前往 Strawberry Perl 官网下载并安装 Strawberry Perl
这里选择的是目前最新版本 Strawberry Perl 5.32.1.1
安装过程中务必选择完整安装
安装完成之后会自动添加环境变量,无需手动添加

检查是否已安装

perl -v

安装 NASM

2021/03/25 更新:以后教程不编译汇编代码,此步骤省略

前往 NASM 官网下载并安装 NASM
这里选择的是 Stable 的 2.15.05

安装完成后要将NASM的路径添加到环境变量,安装程序不会自动添加

下载源代码

前往 OpenSSL 官网下载 openssl-1.1.1k.tar.gz 并解压

编译

VC编译环境

Visual Studio 在安装时必须勾选 Windows C++ 的开发环境,不然没法打开开发人员命令提示符

Snipaste_2020-04-23_14-08-13.png

启动命令行提示工具

【2020年5月25日更新】
使用 VS2019 的开发人员提示工具切换到源码目录,注意选择要编译的位数所对应的版本,不要选择cross版本。所有的选项都要统一,即:编译32位的就启动x86,配置Makefile时为命令行为VC-WIN32,64位同理,本文以编译64位为例。

根据下图打钩的图标,确定需要编译的位数,选择合适的命令提示符。
选择合适的命令行版本

进入源码目录
cd /d C:\openssl-1.1.1k
配置 makefile
版本对应架构命令行
64位VC-WIN64A
32位VC-WIN32

本文采用64位

perl Configure VC-WIN64A no-asm

默认编译后安装在以下路径:

版本默认安装路径
64位C:\Program Files\OpenSSL
32位C:\Program Files (x86)\OpenSSL

若想要自定义安装路径,添加 --prefix 选项即可

perl Configure VC-WIN64A no-asm --prefix=D:\OpenSSL\1.1.1k

如果想静态编译,即生成的可执行文件不依赖动态库,添加 no-shared 选项即可

perl Configure VC-WIN64A no-asm no-shared --prefix=D:\OpenSSL\1.1.1k

根据自己需要,二者选一即可

开始编译及安装

执行 nmake 开始编译
整个过程视机器配置而定,单线程编译持续约5-10分钟

nmake

执行 nmake install 开始安装

nmake install
添加环境变量

将编译后的安装目录下的 bin 文件夹添加到系统 Path 目录下
打开cmd测试安装

openssl version
OpenSSL 1.1.1k  25 Mar 2021
清理生成的中间文件
nmake clean

结尾语

如果在配置或者编译有任何问题或者报错,请在下方留言或直接在关于页面联系我~

下载

这里提供我自行编译的64位动态链接版和静态版的二进制文件下载,动态版本依赖于VC2019运行库

类型下载地址SHA-256
动态链接版 sharedbe6d573d14996a8e82387b5fbca9eb6371c5aad9b31df59e81eb403de8c4ac50
静态编译版 statica1265ab01091d41400056c930e8eaf54e122bbc03c13768bc5e23bf211719f61
最后修改:2021 年 04 月 15 日 08 : 31 AM
如果觉得我的文章不错的话,请我喝一杯咖啡吧~