使用 openssl 对文件签名和验签

这篇具有很好参考价值的文章主要介绍了使用 openssl 对文件签名和验签。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这里介绍:文件签名和验签做了什么,openssl 命令行工具进行签名和验签。
文件签名和验签

  1. 签名

有文件 test.txt,使用摘要算法(如 SHA256)计算出文件的摘要,再使用私钥(private.pem)对摘要的内容做加密,就叫做文件签名,摘要加密之后的内容叫做文件的签名(记 test.sig)。

  1. 验签

私钥 private.pem 对应的公钥是 public.pem,使用公钥对 test.sig 解密得到加密前的摘要 digest1,再计算 test.txt 的摘要得到 digest2,如果 digest1 和 digest2 相同,则验签成功。

openssl 命令行工具使用

  1. 生成私钥 private.pem:

openssl genrsa -out private.pem 2048

  1. 生成公钥:

openssl rsa -in private.pem -pubout -out public.pem

  1. 计算 SHA256 摘要并用 private.pem 生成签名文件 test.sig:

openssl dgst -sha256 -sign private.pem -out test.sig test.txt

也可以直接生成摘要,输出在test.dat文件(二进制文件,需要使用winhex或其他支持二进制的工具打开)。

openssl dgst -sha256 -out test.dat test.txt

  1. 使用公钥验证签名:

openssl dgst -sha256 -verify public.pem -signature test.sig test.txt

输出 “Verified OK” 则签名、文件一致。文章来源地址https://www.toymoban.com/news/detail-514053.html

到了这里,关于使用 openssl 对文件签名和验签的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • OpenSSL 3.1.1 ECC 加密、解密、签名、验签(国密 sm2、sm3)

    openssl 3 默认废弃了 旧版本 (opessl 1.x) 的部分api 导致部分旧ecc 代码无法使用(可以通过配置编译选项打开) ,这里展示如何使用新接口用ECC 进行加密解密。 新接口是真的方便,基本上你都不需要懂啥密码学知识,对我们这种密码白痴来说太好了 头文件 生成密钥对 导出公

    2024年02月05日
    浏览(61)
  • 加密和验签

      大多数公共网络是不安全的,一切基于HTTP协议的请求/响应(Request or Response)都是可以被截获的、篡改、重放(重发)的。因此我们需要考虑以下几点内容: 防伪装攻击(案例:在公共网络环境中,第三方 有意或恶意 的调用我们的接口) 防篡改攻击(案例:在公共网络环境

    2024年02月07日
    浏览(31)
  • 区块链数字签名、验签,以及椭圆曲线算法JS库—elliptic的使用

    目录 一、简介 二、椭圆曲线密码elliptic 1、安装elliptic和js-sha3 2、Keccak256 3、签名过程

    2024年02月02日
    浏览(46)
  • 在Linux上使用openssl生成CA认证文件并为服务器和客户端颁发CA签名证书

    本文基于Linux上CentOS 7版本配合openssl与mod_ssl(需要使用yum下载)进行配置演示 目录 一.生成认证主要流程 1.虚拟出一个CA认证机构,为其生成公私钥以及自签证书 2.生成服务器方私钥,发送包含服务器方公私钥的申请文件给CA机构请求签发证书 3.生成客户端方私钥,发送包含服务

    2024年02月16日
    浏览(53)
  • golang使用SM2(SM2withSM3)签名、验签数据

    对接招行支付 私钥:Hex格式,SM2标准秘钥格式,私钥为32字节字节流,转换为HEX格式为64字节 公钥:base64格式,并且符合ANS1标准,base64编码后总长度为124字节 SM2标准公钥头:3059301306072A8648CE3D020106082A811CCF5501822D03420004 数字签名采用SM2withSM3签名算法,签名方式为PKCS#1裸签名,签

    2024年02月13日
    浏览(37)
  • 签名验签基本流程

    签名验签 1.1规则 1.1.1 公钥加密的数据只有私钥能解开 私钥加密的数据只有公钥能解开 公钥有很多把,私钥只有一把 1.1.2 公钥加密私钥解密用来保密数据 ,但不能用来数据签名(因为公钥太多人有了) 私钥加密公钥解密用来给数据签名,但不能用来保密数据(因为公钥太多

    2024年02月16日
    浏览(35)
  • 数字签名验签 — ECC算法

    ​ 前段时间,项目上有需求对于重要文件的传输接收时,接收端需要对文件进行安全校验,采用数字签名的方式确保数据来源的安全性以及数据完整性。之前未接触过密码安全方面的知识,现将实施过程中所遇所学记录下来~ ​ 本文将按照以下知识内容来记录: ​ 1 数字签

    2024年02月05日
    浏览(37)
  • 使用OpenSSL生成自签名证书

    生成自签名证书有以下常见的方法: 使用图形界面工具:有一些图形界面工具可用于生成自签名证书,使过程更加直观和易于操作。例如,可以使用 XCA、Keychain Access(适用于 macOS)或 Windows 上的自带证书管理工具等。 使用编程语言和库:可以使用编程语言(如Python、Java、

    2024年02月06日
    浏览(49)
  • [实战]API防护破解之签名验签

    传统的接口在传输的过程中,是非常容易被抓包进行篡改,从而进行中间人攻击。 这时候我们可以通过对参数进行签名验证,如果参数与签名值不匹配,则请求不通过,直接返回错误信息,从而防止黑客攻击或者大大增加了黑客攻击的成本。 白帽子在挖洞的时候也经常会遇

    2024年03月13日
    浏览(32)
  • RSA加密、解密、签名、验签的原理及方法

    一、RSA加密简介 RSA加密是一种非对称加密。可以在不直接传递密钥的情况下,完成解密。这能够确保信息的安全性,避免了直接传递密钥所造成的被破解的风险。是由一对密钥来进行加解密的过程,分别称为公钥和私钥。两者之间有数学相关,该加密算法的原理就是对一极大

    2024年02月05日
    浏览(52)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包