openssl 命令行生成密钥对,生成hash,PSS填充签名,校验

生成密钥对

openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:4096
openssl rsa -pubout -in private_key.pem -out public_key.pem

将源文件data.txt生成hash值(sha-256)

openssl dgst -sha256 -binary data.txt > data.sha256

对hash值进行签名

openssl pkeyutl -sign -in data.sha256 -inkey private_key.pem -out signature.bin -pkeyopt digest:sha256 -pkeyopt rsa_padding_mode:pss -pkeyopt rsa_pss_saltlen:-1

验证签名

openssl pkeyutl -verify -in data.sha256 -sigfile signature.bin -pkeyopt rsa_padding_mode:pss  -pubin -inkey public_key.pem -pkeyopt rsa_pss_saltlen:-1 -pkeyopt digest:sha256

签名命令参数详解
pkeyutl: 这是OpenSSL的一个命令行工具,用于执行与公钥和私钥相关的多种操作,包括签名、验证签名、加密、解密等。

-sign: 指定此命令的操作模式为签名。这意味着你打算使用私钥对数据进行签名。

-in data.txt: 指定要进行签名的数据文件为data.txt。这个文件的内容将被读取并用于生成签名。

-inkey private_key.pem: 指定用于签名的私钥文件是private_key.pem。这个文件应该包含你的RSA私钥。

-out sig1.bin: 设置输出签名文件名为sig1.bin。签名结果会被保存到这个文件中。

-pkeyopt digest:sha256: 这个选项指定了在签名过程中使用的摘要算法为SHA-256。这意味着在对数据进行签名前,数据会先通过SHA-256算法计算摘要值。

-pkeyopt rsa_padding_mode:pss: 设置填充模式为PSS(Probabilistic Signature Scheme)。PSS是一种安全的填充方案,常用于RSA签名,提供随机化以增强安全性。

-pkeyopt rsa_pss_saltlen : -1: 指定PSS填充中的盐长度为自动(默认或最大可能值)。值-1通常意味着让OpenSSL根据密钥大小自动选择最佳的盐长度,这有助于提高安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/31513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL进阶——SQL优化

目录 1插入数据 1.1 insert 1.2大批量插入数据 2主键优化 3 order by 优化 4 group by 优化 5 limit 优化 6 count 优化 6.1概述 6.2 count用法 7 update优化 1插入数据 1.1 insert 优化方案主要有3种 批量插入数据 Insert into tb_test values(1,Tom),(2,Cat)…

QT 数值型坐标轴有那些?(QValueAxis)

在Qt中,QValueAxis类用于表示数值型坐标轴,它本身没有直接的子类,但它是从QAbstractAxis这个抽象类继承而来的。QAbstractAxis是定义坐标轴属性和行为的基类,而QValueAxis则在此基础上提供了针对数值数据的具体实现。 Qt的图表模…

HarmonyOS开发知识 :扩展修饰器,实现节流、防抖、权限申请

引言 防重复点击,利用装饰器面向切面(AOP)的特性结合闭包,实现节流、防抖和封装权限申请。 节流 节流是忽略操作,在触发事件时,立即执行目标操作,如果在指定的时间区间内再次触发了事件&…

linux修改root密码

linux修改root密码 在Linux中,可以使用以下几种方法来修改root密码: 方法1:使用passwd命令 该方法是最常见和最简单的方法,使用passwd命令可以直接修改root用户的密码。在终端中执行以下命令: sudo passwd root 系统…

移动端 UI 风格,彰显不凡

移动端 UI 风格,彰显不凡

【车载AI音视频电脑】4/8路AHD 200万像素车载电脑SD卡录像机

产品主要特点: -支持4路实时高清AHD 1080P录像 -SD卡记录数据(可支持2张大容量SD卡,最大支持单张256G) -支持GPS全球定位, 可选模块 -支持WIFI高速自动下载功能, 可选模块 -内置3/4G模块,实时预览和远程管理, 可选…

汇凯金业:现货黄金投资平仓策略有哪些

现货黄金作为全球投资者广泛关注与参与的财富增值途径,其双向交易制度为市场参与者在不同行情下提供了盈利的可能。然而,如何在波动的市场中把握最佳的平仓时机,从而最大化收益,是所有投资者心中的疑问。正确的平仓策略可以说是现…

YYU系列电子引伸计

型号: YYU-50/10 YYU-50/25 YYU-25/10 YYU-100/10 YYU-100/25 轴向变形引伸计,适用于金属非金属材料的测试。用于测量弹性模量、规定非比例延伸强度、规定总延伸强度、各种延伸率、应变硬化指数等参数。 技术参数 1、应变片阻值:350欧…

vue+echarts ----中国地图 下拉选择省份地图中的省份区域高亮显示以及飞线图的效果

vueecharts ----中国地图 下拉选择省份地图中的省份区域高亮显示以及飞线图的效果 1、父组件核心代码&#xff1a;【/utils/area的详细数据】、【/utils/china详细数据】 <template><div class"center"><div class"digital"><el-se…

排书 IDA*

原题链接 题目描述 给定 n 本书&#xff0c;编号为 1∼n。 在初始状态下&#xff0c;书是任意排列的。在每一次操作中&#xff0c;可以抽取其中连续的一段&#xff0c;再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。 输…

STM32学习笔记(十一)--SPI总线协议详解

概述&#xff1a;Serial Peripheral Interface&#xff0c;一组多从 传输速率比I2C快 但是线多 无应答 是一种同步&#xff08;具有时钟线需要同步时钟SCL&#xff09;、串行&#xff08;一位一位的往一个方向发送&#xff09;、全双工&#xff08;发送接收同时&#xff09;通…

Rocky9使用cockpitweb登陆时root用户无法登陆

Rocky9使用cockpitweb登陆时root用户无法登陆 [rootlvs ~]# vim /etc/cockpit/disallowed-users [rootlvs ~]# systemctl restart cockpit 取消disallowed-users中的root&#xff0c;即可访问 ip:9090 登陆。

计算机网络 —— 应用层(万维网)

计算机网络 —— 应用层&#xff08;万维网&#xff09; 万维网核心组成部分特点 URLHTTP版本请求消息结构响应消息结构工作流程 Cookie如何工作主要用途安全与隐私类型 Web缓存客户端缓存&#xff08;浏览器缓存&#xff09;服务器端缓存 今天我们来了解万维网&#xff1a; 万…

螺蛳粉店外卖配送小程序商城的效果为何

螺蛳粉是广西地区的特色美食&#xff0c;在当地有着大量实体餐饮店或品牌商&#xff0c;其单品消费率非常高&#xff0c;在外地也不乏自创品牌或加盟店等&#xff0c;其特殊的味道及吸引力也同样复购率高&#xff0c;客户除了线下到店外&#xff0c;也会购买袋/桶装螺蛳粉到家自…

构建有效的财务规划合作伙伴关系

在这个日益注重分类、定义和正规化的时代&#xff0c;财务规划与分析作为企业环境中发展最快的功能之一&#xff0c;已经从典型的数据管理角色逐步演变成企业框架中必不可少的身份。与其他新兴趋势一样&#xff0c;财务规划也开始采用更加创新的理念来吸引高技能投资&#xff0…

关于FPGA的浮点数处理 II

关于FPGA的浮点数处理 II 语言 &#xff1a;Verilg HDL 、VHDL EDA工具&#xff1a;ISE、Vivado、Quartus II 关于FPGA的浮点数处理 II一、引言二、浮点数运算的FPGA实现1. 有符号数整数转单精度浮点数&#xff08;1&#xff09;实现代码&#xff08;Int2Fp模块&#xff09;&am…

MYSQL杀掉会话

确实&#xff0c;你可以通过 performance_schema.events_statements_current 表来查找当前正在执行的语句的会话ID&#xff08;通常称为 THREAD_ID&#xff09;&#xff0c;然后使用 KILL 命令来终止该会话。不过&#xff0c;需要注意的是 events_statements_current 表中只包含…

新手项目经理如何快速成长?做好这些让你变优秀

随着国内企业精细化发展的步伐不断加快&#xff0c;企业内部在项目立项、项目运营、项目分析等板块的管理要求越来越高&#xff0c;对项目经理的岗位需求也越来越高。一个合格的项目经理需要对项目的初期、中期、后期进行全局的把控。初为项目经理&#xff0c;项目小白如何才能…

14、Spring之Bean生命周期~推断构造方法

14、Spring之Bean生命周期~推断构造方法 推断构造方法determineConstructorsFromBeanPostProcessors()方法autowireConstructor()方法instantiateBean()方法instantiateUsingFactoryMethod()方法 推断构造方法 spring在创建Bean对象的会调用createBeanInstance()方法进行实例化…

神经压缩文本训练:提升大型语言模型效率的新方法

随着大型语言模型&#xff08;LLMs&#xff09;在各个领域的广泛应用&#xff0c;其训练和部署的效率问题日益凸显。传统的子词标记化方法&#xff0c;如Byte Pair Encoding (BPE) 或 Unigram&#xff0c;虽然能够在一定程度上压缩文本&#xff0c;但其压缩率通常只有4倍左右。…