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

openssl工具国际/国密签名命令行流程

openssl工具国际/国密签名命令的流程

  • 国际签名算法(RSA2048 + SHA256)
    • 1. 生成privkey
    • 2. 生成pubkey
    • 3. 生成签名
    • 验证签名
  • 国密算法签名(SM2 + SM3)
    • 1. 生成privkey
    • 2. 生成pubkey
    • 3. 生成sm3
    • 4. 生成签名
    • 5. 验证签名

跳槽文档带不出来,每次开发设计安全启动都要重新调试一边openssl工具用于国际和国密算法签名的命令行参数。
这次直接记录到csdn,以备将来之需。以下命令基于OpenSSL 1.1.1f,其它版本慎用。

国际签名算法(RSA2048 + SHA256)

1. 生成privkey

openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:2048 -pkeyopt rsa_keygen_pubexp:65537 -out rsa2048_priv.key

2. 生成pubkey

openssl rsa -in rsa2048_priv.key -pubout -out rsa2048_pub.key

3. 生成签名

openssl dgst -sha256 -sign rsa2048_priv.key -out signature.bin test.bin

验证签名

openssl dgst -verify rsa2048_pub.key -sha256 -signature signature.bin test.bin

国密算法签名(SM2 + SM3)

1. 生成privkey

openssl ecparam -genkey -name SM2 -out sm2_priv.key

2. 生成pubkey

openssl ec -in sm2_priv.key -pubout -out sm2_pub.key

3. 生成sm3

dgst openssl dgst -binary -out test.sm3.bin -sm3 test.bin

4. 生成签名

openssl pkeyutl -sign -in test.bin -inkey sm2_priv.key -out sm2.sig

5. 验证签名

openssl pkeyutl -verify -pubin -in test.sm3.bin -inkey sm2_pub.key -sigfile sm2.sig

相关文章:

  • Web前端与其他前端:深度对比与差异性剖析
  • AlmaLinux 8.10 x86_64 OVF (sysin) - VMware 虚拟机模板
  • Python酷库之旅-比翼双飞情侣库(08)
  • flutter报错You are currently using Java 1.8
  • 每日5题Day24 - LeetCode 116 - 120
  • Ollama在MacOS、Linux本地部署千问大模型及实现WEB UI访问
  • 手机IP地址距离多远会变:解析移动设备的网络定位奥秘
  • 使用TensorFlow和Keras对以ResNet50模型进行微调
  • ArcGIS JSAPI 高级教程 - ArcGIS Maps SDK for JavaScript - 高斯模糊效果
  • 【第10章】Vue之Element Plus常用组件
  • 【考研数据结构——C语言描述】第四章 串
  • 基于51单片机的电子秤的设计
  • 公差基础-配合(互换性和测量基础)-2
  • 推荐系统算法
  • 网页五子棋对战项目测试(selenium+Junit5)
  • [译] React v16.8: 含有Hooks的版本
  • 【跃迁之路】【585天】程序员高效学习方法论探索系列(实验阶段342-2018.09.13)...
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Docker 1.12实践:Docker Service、Stack与分布式应用捆绑包
  • exports和module.exports
  • nfs客户端进程变D,延伸linux的lock
  • Promise面试题2实现异步串行执行
  • Redux 中间件分析
  • Vim Clutch | 面向脚踏板编程……
  • WePY 在小程序性能调优上做出的探究
  • 前端存储 - localStorage
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 融云开发漫谈:你是否了解Go语言并发编程的第一要义?
  • 微信小程序设置上一页数据
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 《码出高效》学习笔记与书中错误记录
  • Python 之网络式编程
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • 国内开源镜像站点
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • !$boo在php中什么意思,php前戏
  • # windows 运行框输入mrt提示错误:Windows 找不到文件‘mrt‘。请确定文件名是否正确后,再试一次
  • #13 yum、编译安装与sed命令的使用
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (三)模仿学习-Action数据的模仿
  • (十一)JAVA springboot ssm b2b2c多用户商城系统源码:服务网关Zuul高级篇
  • (转载)微软数据挖掘算法:Microsoft 时序算法(5)
  • (总结)(2)编译ORB_SLAM2遇到的错误
  • .ai域名是什么后缀?
  • .NET Core中的去虚
  • .net 提取注释生成API文档 帮助文档
  • .net6 webapi log4net完整配置使用流程
  • .netcore 如何获取系统中所有session_ASP.NET Core如何解决分布式Session一致性问题
  • .net反混淆脱壳工具de4dot的使用
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET开源、简单、实用的数据库文档生成工具
  • .NET设计模式(11):组合模式(Composite Pattern)