gpg2:Linus 的钥匙在哪里?

gpg2: Where's Linus' key?

我正在尝试为我的 Arch 安装构建一个 linux 内核。我想验证签名,但发现我无法获得所需的密钥:

[joemadeus@<host>]$ gpg2 -vvv --locate-keys torvalds@kernel.org gregkh@kernel.org
gpg: using character set 'iso-8859-1'
gpg: using pgp trust model
gpg: key <HEX CHARS HERE> accepted as trusted key
gpg: error retrieving 'gregkh@kernel.org` via Local: No public key
gpg: error retrieving 'gregkh@kernel.org` via WKD: No data
gpg: error reading key: No data
gpg: error retrieving 'torvalds@kernel.org` via Local: No public key
gpg: error retrieving 'torvalds@kernel.org` via WKD: No data
gpg: error reading key: No data

很明显,这些密钥就在那里,但我处理它们的方式有问题。不幸的是,这里没有任何东西可以给我任何提示,即使打开了详细信息。而且,四处寻找我发现...什么都没有。

我确实可以连接到外部世界,并且可以毫无问题地通过 http 访问 kernel.org。事实上,那是我找到如何获得钥匙的地方:https://www.kernel.org/category/signatures.html 我在过去几天尝试了几次,所以我认为 kernel.org 没有问题(除非他们'他们非常长寿。)

我在本地系统上使用此登录名为自己创建了一个密钥。我没有把它推到任何地方。我不知道这些是否重要。

有什么提示吗?

解决方案来自这个 post,由我的一个朋友找到,它回答了类似的问题(但有不同的错误消息):https://askubuntu.com/a/1027703

Arch 上的默认 gpg 配置不包括:

auto-key-locate cert,pka,dane,wkd,keyserver

...我没有在命令行上提供它(不知道它存在。)一旦指定了这个选项,它就找到了密钥。

导入 Linus 和 Greg 密钥的最简单方法是通过您 link 找到的指纹直接获取它。

获取 Linus Torvalds 密钥:

gpg --search-keys ABAF11C65A2970B130ABE3C479BE3E4300411886

获取 Greg Kroah-Hartmans 密钥:

gpg --search-keys 647F28654894E3BD457199BE38DBBDC86092693E

这种方法还可以更轻松地确保您获取正确的密钥,而不是使用电子邮件地址发布的任何密钥。