关于openssl SM2 ECC以及密钥生成和签名验签

SM2是基于ECC的国密算法,本身也是ECC算法。

openssl生成ECC公私钥并签名验签

#!/bin/sh
openssl ecparam -genkey -name prime256v1 -out private.pem
#print pri
#openssl ec -in private.pem -text -noout
openssl ec -in private.pem -pubout -out public.pem
#gen test.txt
zip -qr test_file private.pem public.pem
#sign
openssl dgst -sha256 -sign private.pem -out ec.sig test_file.zip
#verify
openssl dgst -sha256 -verify public.pem -signature ec.sig test_file.zip


其中-name 指定使用的ECC曲线,又如SM2的-name SM2


SM2


Openssl 1.1.1+ 版本增加了对SM2 的支持,所以我们就能直接使用这些版本的opsnssl 生成 SM2的公私钥对。
首先我们得在服务器中安装对应版本的openssl库,具体过程略。
软件包请到官网下载 : [https://www.openssl.org/](https://www.openssl.org/)
安装完成后,使用下列命令查看该版本的openssl 是否支持SM2参数:
openssl ecparam -list_curves | grep SM2
如果查询结果有内容,则说明该版本支持SM2参数,也就可以生成SM2的公私钥对。
在安装了正确版本的openssl之后,下面就是利用openssl自带的命令生成SM2公私钥对了

你可能感兴趣的:(安全,sh,ECC,SM2,OPENSSL)