GmSSL签名验证(GmSSL 命令行)

本文介绍了如何使用GMSSL的命令行工具进行EC算法(如SM2p256v1)的加密操作,包括生成私钥、签名、导出公钥以及验证签名的过程。作者提供了完整的代码示例,并鼓励读者指出可能存在的错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

附上gmssl的文档命令行工具gmssl — GmSSL 0.1 文档
这个文档挺不全的,有些想用的东西不知道是没有还是我没找到。
参考文档:GmSSL快速上手指南

一、编程要求

  1. 内容为 GuetPython 的明文文件msg.txt

  2. 算法EC,选项ec_paramgen_curve:sm2p256v1 生成私钥signkey.pem

  3. 使用私钥signkey.pem msg.txt进行选项ec_scheme:sm2签名,输出签名文件为msg.txt.sig

  4. 从私钥中导出公钥为vrfykey.pem

  5. 使用签名文件、公钥以选项ec_scheme:sm2验证签名,把验证的结果输出到文件 cmp.txt,如果正确,输出Signature Verified Successfully

  6. 测试文件读取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

结束语:

文章可能存在错误,欢迎指出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值