当前位置: 首页 > news >正文

sm2 签名验签

目前发现 sm2 有很多实现,比如 gmssl, openssl 1.1.1 ,openssl 3.0,各种代码库实现等等。实践中发现这些实现会出现不能互相验签的情况。后续研究一下。
网上的一些资料,给出了一些 openssl 指令,但是没有标明 openssl 的版本,由于 openssl1.1.1 版本和 openssl 3 版本支持的参数有区别,会导致到具体环境可能执行出错的情况[^1]。

openssl 3.0.2 sm2 签名验签

#Ubuntu 22.04.1 LTS
#version
#openssl version
#OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
#生成秘钥
openssl ecparam -genkey -name SM2 -out pri.key
openssl ec -in pri.key -pubout -out pub.key
echo -n "1234" > data
#pkeyutl
openssl pkeyutl -sign -in data -inkey pri.key -out pkeysig -rawin -digest sm3
openssl pkeyutl -verify -pubin -in data -inkey pub.key -sigfile pkeysig -rawin -digest sm3
#dgst 这个 -sm3 好像不用加,默认就是sm3
openssl dgst -sm3 -sign pri.key -out dgstsig data
openssl dgst -sm3 -verify pub.key  -signature dgstsig data

[^1] macos 上的openssl version 显示为 libressl ,还不支持sm2

http://www.lryc.cn/news/162804.html

相关文章:

  • 如何检查Windows 11笔记本电脑电池健康状况
  • 编程大师-分布式
  • 内网隧道代理技术(二十三)之 DNS隧道反弹Shell
  • 如何利用Socks5代理IP提升网络安全与跨境电商业务
  • 信号量(Semaphore)
  • <el-input-number>显示两位数字;如果是一位数字的话前面补0
  • 基于SSM的鲜花商城系统【附源码文档】
  • 【算法与数据结构】501、LeetCode二叉搜索树中的众数
  • Spring MVC 六 - DispatcherServlet处理请求过程
  • Python实现猎人猎物优化算法(HPO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战
  • 【图论】SPFA求负环
  • vue3中的吸顶导航交互实现 | VueUse插件
  • MySql 笔记
  • 部署elasticsearch集群
  • CTF入门学习笔记——Crypto密码(现代密码)
  • (3)MyBatis-Plus待开发
  • 正则表达式参考手册
  • 【农业生产模拟】WOFOST模型与PCSE模型实践
  • PHP8中获取并删除数组中最后一个元素-PHP8知识详解
  • JS原理-笔记(1/3)
  • Django创建应用、ORM的进阶使用及模型类数据库迁移
  • tcpdump 如何使用
  • goweb入门
  • 【python爬虫】批量识别pdf中的英文,自动翻译成中文下
  • YApi 新版如何查看 http 请求数据
  • 自动驾驶(apollo)
  • web3.0涉及的技术
  • 26. 不相同的字符串(第一期模拟笔试)
  • Rethink LSTMGRU
  • 状态管理艺术——借助Spring StateMachine驭服复杂应用逻辑