首页 > 其他分享 >gpg: Can't check signature: No public key,及gpg原理

gpg: Can't check signature: No public key,及gpg原理

时间:2024-03-30 21:33:06浏览次数:23  
标签:公钥 私钥 key No -- gpg 哈希 check

gpg --verify openresty-1.21.4.3.tar.gz.asc openresty-1.21.4.3.tar.gz
gpg: Signature made 2023-11-04 05:31:16 +0000 UTC
gpg:                using RSA key B550E09EA0E98066
gpg: Can't check signature: No public key

解决办法

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key B550E09EA0E98066

这里的--recv-key是上面的RSA key

然后再

gpg --verify openresty-1.21.4.3.tar.gz.asc openresty-1.21.4.3.tar.gz

原理

数字签名是通过使用非对称加密算法生成的,一般步骤如下:

1.生成密钥对:首先,软件包的作者会生成一对非对称密钥,包括一个私钥和一个公钥。私钥只有软件包作者拥有,而公钥可以公开发布。

2.对文件进行哈希计算:软件包作者会对要发布的文件(比如 openresty-1.21.4.3.tar.gz)进行哈希计算,生成文件的哈希值。哈希算法通常选择安全的哈希函数,如 SHA-256。

3.使用私钥进行签名:接下来,软件包作者会使用自己的私钥对文件的哈希值进行加密签名。这个签名就是 openresty-1.21.4.3.tar.gz.asc 文件的内容。

4.发布签名文件:软件包作者将生成的签名文件 openresty-1.21.4.3.tar.gz.asc 公开发布,供用户下载。

5.验证签名:用户在下载软件包时,同时下载对应的签名文件。用户使用软件包作者公开的公钥对签名文件进行解密,得到文件的哈希值。然后,用户再对下载的软件包文件进行哈希计算,得到一个哈希值。

6.比较哈希值:最后,用户比较签名文件解密后得到的哈希值和自己计算得到的哈希值。如果两个哈希值一致,说明文件未被篡改,签名有效。

解析

gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-key B550E09EA0E98066

是引入公钥

使用公钥加密的数据只能用对应的私钥解密,而使用私钥加密的数据只能用对应的公钥解密
不同的输入数据经过哈希函数计算得到的哈希值几乎是唯一的

假定私钥只有作者拥有,而使用私钥加密的数据(哈希值--对应文件)只能用对应的公钥解密,也就是公钥对应私钥,所以公钥可以正确解密就可以说明文件是作者的且没被修改过

标签:公钥,私钥,key,No,--,gpg,哈希,check
From: https://www.cnblogs.com/lookfeel/p/18106061

相关文章

  • Node+Vue毕设湛江市美食推荐网站(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:湛江市作为广东省的一个沿海城市,以其独特的地理位置和丰富的海洋资源而闻名。这样的条件孕育了湛江独有的美食文化,吸引了无数食客前来探寻。然而,目前市场上......
  • Node+Vue毕设在线云笔记平台(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在知识经济和信息时代,个人知识的管理和积累变得日益重要。云笔记平台作为一种新型的信息记录和整理工具,以其便捷性、实时性和跨平台性,受到了广大用户的青睐......
  • const7虚拟机jupyternotebook打开页面是空白
    jupyterNoteBook网页空白各种解决方法(实在不行用pyCharm替代Chrome)_为什么jupyternotebook打开是空白页面-CSDN博客找了好久解决方案,安装好之后是可以打开home页面的但是没有任何显示,只有空白,改了很多配置文件但都是以失败告终,终于在这个博主这里解决了,采取的方法就是卸载jup......
  • 基于Arduino的RFID智能门禁
    引言RFID(无线射频识别)技术作为现代物联网的重要组成部分,已经广泛应用于门禁、支付、物流等众多领域。本文将带领大家使用Arduino开发板和RFID读写模块,实现RFID卡片的刷卡识别功能。百度网盘链接经过优化后的代码,删掉了没用的那些代码,并且将代码整合到了一个文件中。链接......
  • Node+Vue毕设在线问诊系统(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:随着互联网医疗的兴起,在线问诊系统作为一种新型的医疗服务模式,受到了广泛关注。它通过提供远程医疗咨询、病情评估和健康指导等服务,极大地方便了患者就医,缓......
  • Node+Vue毕设在线图书销售系统(程序+mysql+Express)
    本系统(程序+源码)带文档lw万字以上 文末可获取本课题的源码和程序系统程序文件列表系统的选题背景和意义选题背景:在数字化阅读和电子商务的双重浪潮推动下,传统的图书销售模式正在向在线图书销售转变。在线图书销售系统以其能够突破时间和空间限制、提供丰富图书资源等优......
  • .eslintignore中的**/_* 这个匹配到的是什么
    .eslintignore文件中的**/_*是一个glob模式,用于指定ESLint应该忽略哪些文件或目录。具体解释如下:**:表示任意层级的子目录。它会递归地匹配当前目录及其所有子目录下的文件和目录。/:在glob模式中,斜线/用于分隔目录层级。_*:表示以_符号开头的任何字符序列。这......
  • 【洛谷】P1004 [NOIP2000提高组]方格取数
    题目描述题目描述设有N×N 的方格图(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 0。如下图所示(见样例):某人从图的左上角的 A 点出发,可以向下行走,也可以向右走,直到到达右下角的 B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为......
  • P1149 [NOIP2008 提高组] 火柴棒等式
    题目链接:本题比较重要的点在于判断加数的范围,即枚举的范围大小。由于题目已知\(n\leqslant24\),且用数字\(1\)拼成的数尽可能大。由于\(1111+1=1112\)已经用了\(25\)根小棒,已经超过了题目\(24\)根小棒的数据范围,所以上界为\(1111\)。#include<cstdio>inta[10]=......
  • Jupyter notebook不输出运行结果
    问题:在jupyter中运行代码,没有反应(既不显示结果,也没有报错)。*其他帖子还提供了重装jupyter、降级pyzmq等方法,这里建议先尝试这种方法......