头歌-本关任务:使用GmSSL命令行,生成SM2私钥并对文件进行签名验证(第二关)。
第一关在网上找到了,但第二关没找到,在这里做一下补充:)
如果想认真学的话可以看看文档
国密SM2椭圆曲线密码标准http://gmssl.org/docs/sm2.html
内容为 GuetPython 的明文文件msg.txt
私钥sm2.pem
公钥sm2Pub.pem
使用sm2utl对msg.txt进行签名,id为Alice,输出为签名文件sig.der
使用公钥将msg.txt加密为msg.en
使用私钥将msg.de解密
echo GuetPython > msg.txt
gmssl ecparam -genkey -name sm2p256v1 -out signkey.pem
gmssl pkeyutl -sign -pkeyopt ec_scheme:sm2 -in msg.txt -inkey signkey.pem -out msg.txt.sig
gmssl pkey -in signkey.pem -pubout -out vrfykey.pem
gmssl pkeyutl -verify -pkeyopt ec_scheme:sm2 -sigfile msg.txt.sig -pubin -inkey vrfykey.pem -in msg.txt > cmp.txt