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

JS原理-笔记(1/3)

JS原理-笔记&#xff08;1/3&#xff09; 知识点自测 今天课程中涉及到的已学习知识点 函数的call方法-文档链接 // 以指定的this调用函数&#xff0c;并通过 从第二个参数开始依次传递参数 function func(food,drink){console.log(this)console.log(food)console.log(drink)…...

Django创建应用、ORM的进阶使用及模型类数据库迁移

1 Django项目创建第一个应用 Django 项目就是基于 Django 框架开发的 Web 应用&#xff0c;它包含了一组配置和多个应用&#xff0c;我们把应用称之为 App&#xff0c;在前文中对它也做了相应的介绍&#xff0c;比如 auth、admin&#xff0c;它们都属于 APP。 一个 App 就是一…...

tcpdump 如何使用

tcpdump 是一个在Unix和类Unix系统上运行的网络抓包工具&#xff0c;它用于捕获网络流量并将其转储到文件中以供后续分析。tcpdump非常强大&#xff0c;可以用于监控、调试和分析网络通信&#xff0c;用于排查网络问题以及安全审计。以下是关于如何使用tcpdump的详细介绍&#…...

goweb入门

创建gomod项目 go mod init web01新建main.go package mainimport ("fmt""net/http" )func handler(writer http.ResponseWriter, request *http.Request) {fmt.Fprintf(writer, "Hello World,%s!", request.URL.Path[1:]) } func main() {fmt…...

【python爬虫】批量识别pdf中的英文,自动翻译成中文下

不管是上学还是上班,有时不可避免需要看英文文章,特别是在写毕业论文的时候。比较头疼的是把专业性很强的英文pdf文章翻译成中文。我记得我上学的时候,是一段一段复制,或者碰到不认识的单词就百度翻译一下,非常耗费时间。之前的文章提供了批量识别pdf中英文的方法,详见【…...

YApi 新版如何查看 http 请求数据

YApi 新版如何查看 http 请求数据 因chrome 安全策略限制&#xff0c;在 cross-request 升级到 3.0 后&#xff0c; 不再支持文件上传功能&#xff0c;并且需要通过以下方法查看 network:1.首先在chrome 输入 > chrome://extensions打开扩展页2.开启开发者模式3.点击 cross…...

自动驾驶(apollo)

&#x1f493;博主csdn个人主页&#xff1a;小小unicorn &#x1f69a;代码仓库&#xff1a;小小unicorn的代码仓库&#x1f69a; &#x1f339;&#x1f339;&#x1f339;关注我带你学习编程知识 自动驾驶技术 引言自动驾驶的基本原理自动驾驶的技术挑战自动驾驶的潜在影响结…...

web3.0涉及的技术

非同质化代币 非同质化代币&#xff08;Non-Fungible Tokens&#xff0c;NFTs&#xff09;是一种数字资产&#xff0c;与传统的加密货币&#xff08;如比特币或以太币&#xff09;不同&#xff0c;它们具有独特性和不可替代性。NFTs 是基于区块链技术的数字资产&#xff0c;用…...

26. 不相同的字符串(第一期模拟笔试)

题目&#xff1a;样例&#xff1a; 输入 1 abab 输出 2 思路&#xff1a; 这里的题目要求我们要最少操作删除次数&#xff0c;我们可以先统计每个字符个数&#xff0c;然后开始删除&#xff0c;每操作删除一次&#xff0c;就会产生一个新字符&#xff0c;ans r[i] >> 1…...

Rethink LSTMGRU

LSTM 设计思想 姑且不看偏置。 W W W 和 U U U 是加权的矩阵&#xff0c;写模型的时候用 nn.Linear(in_dim, out_dim) 就成&#xff1b; σ \sigma σ 是 Sigmoid 函数 第一条&#xff0c;遗忘门&#xff0c;定义为 有多少内容需要被遗忘&#xff1b;第二条&#xff1a;输入门…...

运营公开网是什么网站/网站seo基础

解决方法&#xff1a;左上角--> 模板 -->模板web属性 -->填报的话 选填报界面 --> 为该模板单独设置 --> 左上角“填报当前行背景颜色” --> 改成 白色 或其他...

任县网站建设公司/大数据培训课程

给你一棵指定的二叉树的根节点 root &#xff0c;请你计算其中 最长连续序列路径 的长度。 最长连续序列路径 是依次递增 1 的路径。该路径&#xff0c;可以是从某个初始节点到树中任意节点&#xff0c;通过「父 - 子」关系连接而产生的任意路径。且必须从父节点到子节点&…...

莱芜网站建设方案公司/专业seo外包

100的阶乘问题求解&#xff0c;为什么结果为0&#xff0c;什么事溢出&#xff0c;怎么就会溢出&#xff0c;怎么解决&#xff1f;我刚学习C语言&#xff0c;希望多多关照&#xff01;------解决方案--------------------溢出就是开辟的空间已经不够用了&#xff0c;不能够存放你…...

优秀中文企业网站欣赏/百度搜索推广多少钱

我正在使用Typescript 2.1.我有一个带有2个数字集合的状态的React组件,我不想复制addItem和removeItem方法,并希望它们是通用的.这是代码&#xff1a;type Collection challenges | disciplines;type State {lang: string;challenges: number[];disciplines: number[];}class…...

省政府网站建设/百度排名优化

一、要求 求从1到n整数的十进制表示中&#xff0c;1出现的次数。 举个例子&#xff1a;1~13中包含1的数字有1、10、11、12、13因此共出现6次。 二、思路及代码 道理蛮复杂的&#xff0c;具体可看&#xff1a;https://blog.csdn.net/u012505432/article/details/51889052 但…...

如何用易语言做网站/优化关键词的方法正确的是

摩根的面试非常的难&#xff0c;首先会做背调&#xff0c;HR会和你之前的经理还有HR通话核实简历或工资方面的东西。通过之后会约你上门面试&#xff0c;一开始会有技术测试题&#xff0c;各种方面五花八门的&#xff0c;从网络协议OSPF,EIGRP,RIP的详细内容到路由的算法和思科…...