本文持续更新,跟进当前日期最新的 OpenSSL 版本,最后更新日期见文章末
安装 Strawberry Perl
前往 Strawberry Perl 官网下载并安装 Strawberry Perl
这里选择的是目前最新版本 Strawberry Perl
5.32.1.1
安装过程中务必选择完整安装
安装完成之后会自动添加环境变量,无需手动添加
检查是否已安装
|
|
安装 NASM
2021/03/25 更新:以后教程不编译汇编代码,此步骤省略
前往 NASM 官网下载并安装 NASM
这里选择的是 Stable 的 2.15.05
安装完成后要将NASM的路径添加到环境变量,安装程序不会自动添加
下载源代码
前往 OpenSSL 官网下载 openssl-3.1.3.tar.gz 并解压
编译
VC编译环境
Visual Studio 在安装时必须勾选 Windows C++ 的开发环境,不然没法打开开发人员命令提示符
启动命令行提示工具
【2020年5月25日更新】 使用 VS2022 的开发人员提示工具切换到源码目录,注意选择要编译的位数所对应的版本,不要选择cross版本。所有的选项都要统一,即:编译32位的就启动x86,配置Makefile时为命令行为VC-WIN32,64位同理,本文以编译64位为例。
根据下图打钩的图标,确定需要编译的位数,选择合适的命令提示符。
进入源码目录
|
|
配置 Makefile
版本 | 对应架构命令行 |
---|---|
64位 | VC-WIN64A |
32位 | VC-WIN32 |
本文采用64位
|
|
如果编译静态链接版本的二进制程序,加一个 no-shared
选项即可。
|
|
根据自己需要,二者选一即可
默认编译后安装在以下路径:
版本 | 默认安装路径 |
---|---|
64位 | C:\Program Files\OpenSSL |
32位 | C:\Program Files (x86)\OpenSSL |
若想要自定义安装路径,添加 --prefix
选项即可
|
|
开始编译及安装
执行 nmake 开始编译 整个过程视机器配置而定,单线程编译持续约5-10分钟
|
|
如果想加速编译,使用 Qt 的 jom 工具即可使用 -j
选项来指定构建的线程数, jom 可以在这里下载,将它解压然后添加到环境变量即可,下面的命令使用 8 线程编译
|
|
安装二进制和库
|
|
使用 install_sw 代替 install 是因为默认 install 会生成 40M 左右的 HTML 文档,若不需要就使用 install_sw 仅安装二进制文件和库
添加环境变量
将编译后的安装目录下的 bin 文件夹添加到系统 Path 目录下
打开 cmd 使用 openssl version -a
测试
|
|
清理生成的中间文件
|
|
下载
附上我编译的动态链接版及静态链接版,已经移除了 pdb 调试符号文件,确保文件大小
结尾语
如果在配置或者编译有任何问题或者报错,请在下方留言或直接在关于页面联系我~