OpenSSL 3.0 版本已经发布VS2019编译源码教程

 

1 OpenSSL 3.0版本在2020年五月发布

 

OpenSSL3.0 在2020年5月发布了第一个版本,随即在六月份又发布了一些alpha版本,版本修正了一些bug,增加了一些协议支持,继续支持国密sm2 ,sm3 ,sm4(从1.1.1版本开始支持)。

 

3.0版本完全兼容1.1.1版本接口,但低级别的MD2, MD4, MD5, MDC2,SHA1, SHA224, SHA256, SHA384, SHA512,AES,DES,ECDH,DSA,ECDSA,RSA接口都会被警告将要被弃用。但文档中没有提及要用什么接口替换,估计是全部用EVP接口替换,我在项目中基本都替换为了EVP接口。

 

2 OpenSSL 3.0版本使用VS2019编译过程

 

2.1 OpenSSL3.0 源码下载

 

源码可以到官方网站或者直接使用git进行下载

 

下载地址 ffmpeg.vip

 

或者使用git下载版本库上最新源码

 

git clone git://git.openssl.org/openssl.git

 

2.2 依赖工具安装

 

安装 perl 脚本解释器

 

下载 http://openssl.vip/download

 

安装 nasm 汇编器

 

 

默认会安装到用户目录

 

C:\Users\用户名\AppData\Local\bin\NASM

 

配置windows的环境变量,将此路径加入到环境变量path中

 

安装好后,重新打开控制台能够运行nasm 和perl命令

 

2.3 编译工具:VS2019社区版本

 

下载地址 http://openssl.vip/download 安装社区版本,安装后注册个用户就可以免费使用。

 

2.4 编译步骤

 

1)进入控制台(运行 CMD),或者编写批处理bat文件

 

或者直接运行菜单中的vs2019 命令行编译工具,选择相应的版本(x86x64

 

2)运行vs编译环境

 

打开菜单中VS2019中有对应的命令行工具,把地址复制过来

 

编译32位库版本

 

"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars32.bat"

 

编译64位库版本

 

"c:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvars64.bat"

 

3)进入openssl源码吗目录

 

cd openssl-3.0.0-alpha2

 

4)使用perl生成makefile文件

 

perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE } --prefix=%OUTPATH%

 

perl Configure VC-WIN32

 

VC-WIN32 表示生成32位程序 --prefix 是编译后输出的路径,默认会生成到C:\Program Files (x86)目录,因为要写到C盘,有可能会出错,如果控制台不是管理员方式运行

 

5)用nmake编译

 

#编译库源码

 

nmake

 

#编译测试程序

 

nmake test

 

# 安装openssl

 

nmake install

 

将编译好的文件安装到指定目录,默认是C:\Program Files (x86)\OpenSSL,如果是在C盘,运行控制台是需要有管理员权限

 

2.5 编译中的一些错误

 

'perl' 不是内部或外部命令,也不是可运行的程序

 

需要安装perl

 

NMAKE : fatal error U1064: 未找到 MAKEFILE 并且未指定目标

 

perl 生成makefile失败,可以清理掉重新生成,或者替换参数重新生成

 

NASM not found - make sure it's installed and available on %PATH%

 

安装nasm或者配置取消nasm

 

It looks like you don't have either nmake.exe or dmake.exe on your PATH, so you will not be able to execute the commands from a Makefile. You can install dmake.exe with the Perl Package Manager by running:

 

需要安装下载安装dmake

 

ppm install dmake

 

运行时错误:OPENSSL_Uplink(0FB024F8,08): no OPENSSL_Applink

 

复制applink.c文件到头文件路径#include <openssl/applink.c>

 

 

 

要观看全部内容请点击c++实战区块链核心密码学-基于openssl
https://ke.qq.com/course/2737429?tuin=10eec75

posted @ 2020-06-30 18:30  老夏课堂-夏曹俊  阅读(2635)  评论(0编辑  收藏  举报