基于OpenSSL 1.1.1版实现的SM2签名与验签C程序
openssl
传输层安全性/安全套接层及其加密库
项目地址:https://gitcode.com/gh_mirrors/ope/openssl
·
OpenSSL 1.1.1 版提供了对国密 SM4、SM3、SM2 算法的支持。对于 SM2 算法,在源码的 crypto/sm2 目录下,sm2_sign.c 文件中实现了 SM2 签名与验签, sm2_crypt.c 文件中实现了 SM2 加密与解密,这些源码是很好的学习范例。但是 sm2.h, sm3.h, sm4.h 这些头文件是放在源码的 crypto/include/internal 目录下,这就导致用户不能直接调用到 sm2_sign.c 和 sm2_crypt.c 中实现的函数。如果用户需要做 SM2 签名验签或加解密,需要使用统一的 EVP 抽象接口。
有时候做 SM2 签名验签时,我们并不想通过调用 OpenSSL 的 EVP 接口来实现,调用 EVP 接口需要了解很多 OpenSSL 自定义的数据类型和函数。为了能在不调用 EVP 接口的情况下做 SM2 签名和验签,我针对 OpenSSL 1.1.1 版本,编程实现了以下函数:包含预处理过程的SM3杂凑值计算、SM2 密钥对生成、SM2 签名、SM2验签以及相关的测试函数。程序代码已发布在以下网址: github.com/greendow/SM2-signature-creation-and-verification
传输层安全性/安全套接层及其加密库
最近提交(Master分支:3 个月前 )
b049ce0e
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26359)
6 天前
75416c09
Once lcov is updated to 2.2 version or later, it could be dropped.
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/26381)
7 天前
更多推荐



所有评论(0)