0x01 前言
最近在学习密码学,但是国密算法(SM2,SM3,SM4,SM9)的细节都在openssl项目里,当然一些国际算法也在。想着看下代码执行过程和理论结合起来。中间走了一些弯路,做个笔记。
0x02 openssl安装
一开始认为是不是直接下载好的源码就行了,然后发现总有出入,总会出现问题。最后发现,下载安装版,要安装后更好配置环境。我这里安装openssl3.1.3,最新版本目前已经是3.3.1了。
https://github.com/openssl/openssl/releases/download/openssl-3.1.3/openssl-3.1.3.tar.gz
0x03 visual studio 配置
1、新建控制台项目,项目路径,名称自己随意。
2、项目配置
(1)选中项目,右键单击,选择属性
(2)修改包含目录和库目录
(3)包含目录路径,在安装好的openssl路径下,我的在默认路径,安装好的路径为
C:\Program Files\OpenSSL-Win64\include
(4)库目录路径,在安装的lib路径。我的在C:\Program Files\OpenSSL-Win64\lib
(5)修改链接库,要不然程序编译时候会报错,(LNK2019 无法解析的外部符号)修改方法如下:增加依赖项。libssl.lib 和libcrypto.lib
(6)这时候应该可以了。
但是我的程序继续报错了。都执行没问题,但是结果就是报错。
接下来我在程序前面包含头文件
#include<openssl/applink.c>
然后执行,发现OK。
0x04程序结果检验
程序执行没问题。