当前位置: 首页 > 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

相关文章:

sm2 签名验签

目前发现 sm2 有很多实现,比如 gmssl, openssl 1.1.1 ,openssl 3.0,各种代码库实现等等。实践中发现这些实现会出现不能互相验签的情况。后续研究一下。 网上的一些资料,给出了一些 openssl 指令,但是没有标明 openssl 的版本&…...

如何检查Windows 11笔记本电脑电池健康状况

如果你拥有一台运行微软最新操作系统的便携式电脑,那么检查Windows 11笔记本电脑的电池健康状况可能很重要。 电池寿命显然是一件大事,无论你是在最好的商务笔记本电脑上工作,还是在目前市场上最好的游戏笔记本电脑上享受马拉松式的Starfiel…...

编程大师-分布式

分布式锁 mysql redis 【IT老齐122】不只setnx,两张图说清Redisson的Redis分布式锁实现_哔哩哔哩_bilibili zk 用这种方式去实现,zookeeper分布式锁,你会吗?_哔哩哔哩_bilibili...

内网隧道代理技术(二十三)之 DNS隧道反弹Shell

DNS隧道反弹Shell DNS隧道 DNS协议是一种请求、应答协议,也是一种可用于应用层的隧道技术。DNS隧道的工作原理很简单,在进行DNS查询时,如果查询的域名不在DNS服务器本机缓存中,就会访问互联网进行查询,然后返回结果。如果在互联网上有一台定制的服务器,那么依靠DNS协议…...

如何利用Socks5代理IP提升网络安全与跨境电商业务

在今天的数字时代,网络安全对于个人和企业来说都至关重要。随着跨境电商和在线游戏等业务的不断发展,保护网络安全变得尤为重要。Socks5代理IP是一项强大的工具,可以帮助您实现更高水平的网络安全,同时促进跨境电商和游戏领域的增…...

信号量(Semaphore)

信号量(Semaphore)是一种经典的多线程同步工具,用于控制多个线程对共享资源的访问。信号量维护了一个计数器,表示可用的资源数量,线程可以通过信号量来请求资源并释放资源。信号量的主要操作包括获取(acquire)资源和释放(release)资源。 Java 中的信号量通常有两种类…...

<el-input-number>显示两位数字;如果是一位数字的话前面补0

可以通过自定义 formatter 函数来实现。具体步骤如下&#xff1a; 在 <el-input-number> 上添加 :formatter 属性&#xff0c;值为 formatter 函数名。 在 methods 中定义 formatter 函数&#xff0c;该函数接收一个参数 value&#xff0c;表示当前输入框中的值。 在 f…...

基于SSM的鲜花商城系统【附源码文档】

基于SSM的鲜花商城系统【附源码文档】 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringSpringMVCMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 【主要功能】 角色&#xff1a;用户、管理员 用户&#xff1a;登录、注册、商品查询、公告预…...

【算法与数据结构】501、LeetCode二叉搜索树中的众数

文章目录 一、题目二、解法三、完整代码 所有的LeetCode题解索引&#xff0c;可以看这篇文章——【算法和数据结构】LeetCode题解。 一、题目 二、解法 思路分析&#xff1a;根据前面几篇文章98、LeetCode验证二叉搜索树、530、LeetCode二叉搜索树的最小绝对差。我们知道二叉搜…...

Spring MVC 六 - DispatcherServlet处理请求过程

前面讲过了DispatcherServlet的初始化过程&#xff08;源码角度的DispatcherServlet的具体初始化过程还没说&#xff0c;先放一放&#xff09;&#xff0c;今天说一下DispatcherServlet处理请求的过程。 处理过程 WebApplicationContext绑定在当前request属性上&#xff08;属…...

Python实现猎人猎物优化算法(HPO)优化BP神经网络回归模型(BP神经网络回归算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 猎人猎物优化搜索算法(Hunter–prey optimizer, HPO)是由Naruei& Keynia于2022年提出的一种最新的…...

【图论】SPFA求负环

算法提高课笔记 文章目录 基础知识例题虫洞题意思路代码 观光奶牛题意思路代码 单词环题意思路代码 基础知识 负环&#xff1a;环上权值之和是负数 求负环的常用方法 基于SPFA 统计每个点入队次数&#xff0c;如果某个点入队n次&#xff0c;则说明存在负环&#xff08;完全…...

vue3中的吸顶导航交互实现 | VueUse插件

目的&#xff1a;浏览器上下滚动时&#xff0c;若距离顶部的滚动距离大于78px&#xff0c;吸顶导航显示&#xff0c;小于78px隐藏。使用vueuse插件中的useScroll方法​​​​​​​和动态类名控制进行实现 1. 安装 npm i vueuse/core 2. 获得滚动距离 项目中导入&#xff0…...

MySql 笔记

数据结构&#xff1a;BTREE 二叉树&#xff1a;顺序增长依次查询效率低 红黑树&#xff1a; 数据多了深度越深&#xff0c;效率自然低了 HASH&#xff1a; 查询条件限制 B-TREE&#xff1a;度&#xff08;degree&#xff09;-节段的数据存储个数&#xff0c;叶节点具有 相…...

部署elasticsearch集群

创建es集群 编写一个docker-compose.yaml文件&#xff0c;内容如下 version: 2.2 services:es01:image: elasticsearch:7.12.1container_name: es01environment:- node.namees01- cluster.namees-docker-cluster- discovery.seed_hostses02,es03- cluster.initial_master_nod…...

CTF入门学习笔记——Crypto密码(现代密码)

文章目录 CTF入门学习笔记——Crypto密码&#xff08;现代密码&#xff09;因数分解因数分解 共享素数Bigrsa 低加密指数攻击&#xff08;小明文攻击&#xff09;crypto5 共模攻击rsa_output 广播攻击Crazy_Rsa_Tech 待补充 CTF入门学习笔记——Crypto密码&#xff08;现代密码…...

(3)MyBatis-Plus待开发

常用注解 TableName MyBatis-Plus在确定操作的表时&#xff0c;由BaseMapper的泛型决定即实体类型决定&#xff0c;且默认操作的表名和实体类型的类名一致,如果不一致则会因找不到表报异常 //向表中插入一条数据 Test public void testInsert(){User user new User(null, &…...

正则表达式参考手册

修饰符 修饰符用于执行区分大小写和全局匹配: 修饰符描述i执行对大小写不敏感的匹配。g执行全局匹配&#xff08;查找所有匹配而非在找到第一个匹配后停止&#xff09;。m执行多行匹配。 方括号 方括号用于查找某个范围内的字符&#xff1a; 表达式描述[abc]查找方括号之间…...

【农业生产模拟】WOFOST模型与PCSE模型实践

查看原文>>>【农业生产模拟】WOFOST模型与PCSE模型实践 实现作物产量的准确估算对于农田生态系统响应全球变化、可持续发展、科学粮食政策制定、粮食安全维护都至关重要。传统的经验模型、光能利用率模型等估产模型原理简单&#xff0c;数据容易获取&#xff0c;但是…...

PHP8中获取并删除数组中最后一个元素-PHP8知识详解

在php8中&#xff0c;array_pop()函数将返回数组的最后一个元素&#xff0c;并且将该元素从数组中删除。语法格式如下&#xff1a; array_pop(目标数组) 获取并删除数组中最后一个元素&#xff0c;参考代码&#xff1a; <?php $stu array(s001>明明,s002>亮亮,s…...

Motorola LS2208条码扫描器USB接口模式解析与Python数据采集实战

1. 项目概述&#xff1a;从“扫码枪”到数据采集终端在仓库、快递站或者超市收银台&#xff0c;我们每天都能看到工作人员拿着一个像手枪一样的东西&#xff0c;“嘀”一声&#xff0c;商品信息就录入了系统。这个设备就是条码扫描器&#xff0c;很多人习惯叫它“扫码枪”。你可…...

BurpSuite实战:从代理配置到漏洞扫描的完整工作流解析

1. BurpSuite入门&#xff1a;代理配置与证书安装 第一次打开BurpSuite时&#xff0c;那个黑底红字的启动界面总让我想起黑客电影里的场景。不过别被吓到&#xff0c;这其实是个非常友好的Web安全测试工具。我刚开始用的时候&#xff0c;最头疼的就是代理配置问题。这里分享下…...

解放双手!绝区零智能自动化工具让你的游戏体验翻倍升级

解放双手&#xff01;绝区零智能自动化工具让你的游戏体验翻倍升级 【免费下载链接】ZenlessZoneZero-OneDragon 绝区零 一条龙 | 全自动 | 自动闪避 | 自动每日 | 自动空洞 | 支持手柄 项目地址: https://gitcode.com/gh_mirrors/ze/ZenlessZoneZero-OneDragon 还在为《…...

Cool-Request终极指南:如何高效配置全局请求头提升API测试效率

Cool-Request终极指南&#xff1a;如何高效配置全局请求头提升API测试效率 【免费下载链接】cool-request IDEA API、Java Method debug tools 项目地址: https://gitcode.com/gh_mirrors/co/cool-request 在Java API开发和调试过程中&#xff0c;Cool-Request作为一款强…...

AI智能体协作命令行工具squads-cli:多智能体编排与自动化实战

1. 项目概述&#xff1a;一个面向AI智能体协作的命令行工具如果你最近在关注AI智能体&#xff08;Agent&#xff09;的开发&#xff0c;尤其是多智能体协作&#xff08;Multi-Agent Collaboration&#xff09;这个方向&#xff0c;那你很可能已经听说过或接触过一些相关的框架。…...

040二叉树的直径

二叉树的直径 题目链接&#xff1a;https://leetcode.cn/problems/diameter-of-binary-tree/description/?envTypestudy-plan-v2&envIdtop-100-liked 我的解答&#xff1a; 无分析&#xff1a;自己没有什么思路。 看了官方题解后的解答&#xff1a; int ans; public int d…...

成都口碑好的特斯拉专修公司有哪些

在成都&#xff0c;如果你是特斯拉车主&#xff0c;寻找一家靠谱的专修公司是非常重要的。今天就给大家推荐一家口碑极佳的特斯拉专修公司——TBA特斯拉专修&#xff08;成都三业店&#xff09;&#xff0c;也就是成都市三业汽车服务有限责任公司。下面从多个方面来看看它的优势…...

声明式应用编排框架Planifest:云原生时代应用交付新范式

1. 项目概述&#xff1a;一个面向未来的声明式应用编排框架如果你和我一样&#xff0c;在云原生和自动化运维领域摸爬滚打了几年&#xff0c;就会深刻体会到“编排”这个词的分量。从早期的Shell脚本&#xff0c;到Ansible、Terraform&#xff0c;再到Kubernetes的YAML海洋&…...

Tmux智能代理:用Emoji可视化终端状态,提升开发效率与情境感知

1. 项目概述&#xff1a;一个让终端会话“活”起来的智能代理 如果你和我一样&#xff0c;每天有超过8小时的时间“泡”在终端里&#xff0c;与tmux、vim和各种命令行工具打交道&#xff0c;那你一定理解那种感觉——屏幕上是冰冷的文本、闪烁的光标和单调的日志输出。长时间面…...

Linux进程诊断利器whatdiditdo:实时快照工具原理与实战

1. 项目概述&#xff1a;一个“透明”的进程监控器最近在折腾一个自动化脚本&#xff0c;它时不时会卡住&#xff0c;但日志里又看不出个所以然。排查这种问题&#xff0c;最直接的想法就是看看这个进程到底在“干什么”——它在读写哪些文件&#xff1f;调用了哪些系统调用&am…...