前言
附上gmssl的文档命令行工具gmssl — GmSSL 0.1 文档
这个文档挺不全的,有些想用的东西不知道是没有还是我没找到。
参考文档:GmSSL快速上手指南
一、编程要求
-
内容为 GuetPython 的明文文件
msg.txt
-
算法
EC
,选项ec_paramgen_curve:sm2p256v1
生成私钥signkey.pem
-
使用私钥
signkey.pem
对msg.txt
进行选项ec_scheme:sm2
签名,输出签名文件为msg.txt.sig
-
从私钥中导出公钥为
vrfykey.pem
-
使用签名文件、公钥以选项
ec_scheme:sm2
验证签名,把验证的结果输出到文件 cmp.txt,如果正确,输出Signature Verified Successfully -
测试文件读取cmp.txt的文件内容判定验证签名是否正确
二、完整代码
echo GuetPython >msg.txt
gmssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:sm2p256v1 -out signkey.pem
gmssl pkeyutl -sign -pkeyopt ec_scheme:sm2 -inkey signkey.pem -in msg.txt -out msg.txt.sig
gmssl pkey -pubout -in signkey.pem -out vrfykey.pem
gmssl pkeyutl -verify -pkeyopt ec_scheme:sm2 -pubin -inkey vrfykey.pem -in msg.txt -sigfile msg.txt.sig >cmp.txt