它在这里说Arch Linux 项目有 5 个主签名密钥。它还表示活跃的、受信任的开发人员的密钥由一个或多个主密钥签名。我们可以看到 Pierre Schmitz 的个人密钥由主密钥 0x77514E00、0x7BE9892E 和 0x037F4F41 签名。
现在,我导入了所有 Arch 项目主密钥,包括 0x77514E00、0x7BE9892E 和 0x037F4F41,Arch 网站上声称这些密钥已签署 Pierre Schmitz 的个人密钥。
我使用 archlinux-x86_64.iso.sig 验证了 archlinux-x86_64.iso。它说它未经验证,并要求查找此密钥 ID
0x3E80CA1A8B89F69CBA57D98A76A5EF9054449A5C
。很好。但我只是想独立验证 Pierre Schmitz 的个人密钥是否确实由主密钥签名,这样我就可以在此任务以及未来的许多任务中开始智能地进行这些验证。
我Pierre Schmitz 密钥 ID 的列表签名: 自签名可以,我想我需要接收密钥?
这真的不可能吗?独立验证密钥是否由一组定义的主密钥签名是否总是或永远不可能?或者我在这个验证过程中哪里犯了错误?
答案1
听起来你的 GnuPG 安装配置为从导入的密钥中删除所有非自签名,这是所有新版本中的默认设置。如果你想保留它们,你现在必须明确选择这样做:
$ gpg --keyserver-options no-self-sigs-only --recv-key 3E80CA1A...
这种过滤在 2019 年成为默认设置,因为公钥服务器突然淹没带有大量垃圾签名(尤其是旧的 SKS 密钥服务器软件甚至接受格式错误的数据包,这会彻底破坏 GnuPG)。
这导致通过密钥服务器进行的 WoT 式签名分发比以前更加消亡;基于 SKS 的密钥服务器池彻底关闭;大型密钥服务器切换到不同的软件,并且通常不再相互同步。(一些新的密钥服务器,例如 Hagrid,甚至根本不接受非自签名。)
因此,Arch Linux 总体上不再使用密钥服务器作为其主要密钥分发机制。相反,密钥可以直接通过https://archlinux.org
WKD 检索,其形式与通过 Arch 打包分发的形式相同 - 仅附加其他开发人员的签名,没有其他内容:
$ gpg --auto-key-locate clear,wkd --locate-external-key [email protected]
$ gpg --list-sigs [email protected]