文档章节

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

o
 osc_9mt0ncuk
发布于 07/01 09:21
字数 842
阅读 28
收藏 0

精选30+云产品,助力企业轻松上云!>>>

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 汇编器
下载地址 http://openssl.vip/download
默认会安装到用户目录
C:\Users\用户名\AppData\Local\bin\NASM
配置windows的环境变量,将此路径加入到环境变量path中
安装好后,重新打开控制台能够运行nasm 和perl命令
2.3 编译工具:VS2019社区版本
下载地址 http://openssl.vip/download 安装社区版本,安装后注册个用户就可以免费使用。
2.4 编译步骤
(1)进入控制台(运行 CMD),或者编写批处理bat文件
或者直接运行菜单中的vs2019 命令行编译工具,选择相应的版本(x86和x64)
(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>
OpenSSL 3.0 版本已经发布VS2019编译源码教程要观看全部内容请点击c++实战区块链核心密码学-基于openssl













o
粉丝 0
博文 57
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

DateTime2与SQL Server中的DateTime - DateTime2 vs DateTime in SQL Server

问题: Which one: 哪一个: datetime datetime2 is the recommended way to store date and time in SQL Server 2008+? 是在SQL Server 2008+中存储日期和时间的推荐方法吗? I'm aware of......

富含淀粉
56分钟前
13
0
Linux 文件打开过多 (Too many open files)

如图是程序运行了一段时间后抛出来的一个bug, 刚开始看这个bug的时候各种网上找答案, 无外乎教你怎么改ulimit(就是linux最大打开文件数), 当然不是说改这个没有用, 作为程序开发者来说, 如果...

onedotdot
57分钟前
25
0
ZStack实践汇|ZStack与行云管家对接实践ZStack与行云管家对接实践

一、ZStack与行云管家概述 大道至简·极速部署,ZStack致力于产品化私有云和混合云。 ZStack是一家坚持自主创新、专注产品化的云计算公司,以“降低企业上云门槛、让每一家企业都拥有自己的云...

ZStack社区版
今天
7
0
switch linux mint 20 apt repository to tsinghua' mirrors

edit file /etc/apt/sources.list.d/cat official-package-repositories.list lwk@qwfys:/etc/apt/sources.list.d$ lltotal 12drwxr-xr-x 2 root root 4096 Jul 5 20:01 ./drwxr-xr-x 7 ......

qwfys
今天
12
0
面试系列之C++的对象布局【建议收藏】

我们都知道C++多态是通过虚函数表来实现的,那具体是什么样的大家清楚吗?开篇依旧提出来几个问题: 普通类对象是什么布局? 带虚函数的类对象是什么布局? 单继承下不含有覆盖函数的类对象是...

伊牙牙嘿哈哈
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部