You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通过指纹导入PGP公钥及归档验证遇阻技术问询

解决PGP公钥导入与归档签名验证问题

嘿,我帮你理清楚怎么解决这个头疼的PGP密钥问题,你遇到的情况其实挺常见的,咱们一步步来搞定:

核心问题拆解

你现在卡两个点:

  1. 明明导入了指定指纹的Wladimir J. van der Laan公钥,验证SHA256SUMS.asc时却提示缺RSA密钥90C8019E36C2E964
  2. 不同渠道下载的同指纹公钥内容不一致

一、搞定签名验证的"无公钥"提示

那个90C8019E36C2E964其实是你导入的主密钥对应的子密钥——很多开发者会用子密钥来做签名,主密钥只用来管理子密钥,所以你之前只导入了主密钥,自然找不到签名用的子密钥。

直接用这条命令从靠谱的密钥服务器接收子密钥就行:

gpg --keyserver keyserver.ubuntu.com --recv 90C8019E36C2E964

执行完后跑gpg --list-keys,就能看到这个子密钥挂在Wladimir的主密钥下面了,再去验证签名gpg --verify SHA256SUMS.asc,应该就不会报无公钥了。


二、为什么不同来源的公钥不一样?

这个不用慌,PGP密钥服务器之间存在同步延迟,而且有些服务器可能只同步了主密钥,没同步子密钥;还有些平台的密钥会附带其他用户的签名信息,导致看起来内容有差异,但只要密钥指纹完全匹配,核心的公钥部分就是有效的。

建议优先选权威的密钥服务器(比如ubuntu的这个)或者官方指定的渠道,确保拿到完整的密钥链(主密钥+所有子密钥)。


额外小技巧

  1. 接收密钥时直接用完整无空格的指纹,避免匹配歧义:
gpg --keyserver keyserver.ubuntu.com --recv 71A3B16735405025D447E8F274810B012346C9A6
  1. 如果再遇到"无用户ID被跳过"的情况,确认密钥可信的前提下,可以加参数强制接收:
gpg --recv-key --allow-non-selfsigned-uid 74810B012346C9A6

内容的提问来源于stack exchange,提问作者monkeyUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 08:52:33