SM2算法第十三篇:SM2密钥协商协议的C语言实现

记录每一点小小的进展,今天终于把”SM2的C语言实现”的程序成功的运行起来了,下面记录了我的操作流程。

资源下载:

1、sm2源程序(C语言实现)

下载链接

2、静态库和动态库(libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib

下载链接


step1:在Windows系统上安装openssl


可参考SM2算法第七篇:Windows下Openssl安装与配置,在那篇博客中,我严格按照前辈们给出的步骤操作的,但是结果仍然报错,NNAME:fatal error U1077:"c\windows\system32\cl.exe”:return code "0x2”,这个错误导致的结果是,没能成功产生静态库libeay32.lib和ssleay32.lib(位于out32文件夹下),动态库libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib(位于out32dll文件夹下)。这当然导致我的程序无法正常运行。所幸,今早down到了以上需要的静态库和动态库,并且将相应库添加在了out32(若没有该文件夹可以自己创建)和out32dll文件夹下。

不要忘了为VC添加头文件和静态链接库路径,可参考SM2算法第七篇:Windows下Openssl安装与配置


step2:找到sm2.dsw文件(文件类型是VC++6 Workspace),如下,用VC++6.0打开


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第1张图片

SM2算法第十三篇:SM2密钥协商协议的C语言实现_第2张图片


step2:打开sm2.c —> 编译(compile) —> build,没有报错


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第3张图片


step3:点击Go(F5)运行,报错


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第4张图片


step4:将下载好的libeay32.dll拷贝到C:\Windows\System32目录下


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第5张图片


step5:点击Go(F5)运行,结果一闪而过,控制台出现如下信息


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第6张图片


step6:不要着急,没有犯错,以上信息是正常的。如何才能看到运行结果呢?用“Ctrl+F5”组合键的方式去运行程序即可出现如下结果


SM2算法第十三篇:SM2密钥协商协议的C语言实现_第7张图片






虽然程序运行结果已经出来了,但是,上面输出的结果都是些什么意思啊?这是我下一步需要搞懂的地方。








你可能感兴趣的:(SM2椭圆曲线)