0

我有指纹71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6,我想下载公钥来验证存档。我想从终端下载密钥,并尝试使用该命令:

gpg  --search-keys "71A3 B167 3540 5025 D447  E8F2 7481 0B01 2346 C9A6"

我得到了这个结果

gpg: data source: https://keys.openpgp.org:443
(1)   2048 bit RSA key 74810B012346C9A6, created: 2011-08-24
Keys 1-1 of 1 for "71A3 B167 3540 5025 D447  E8F2 7481 0B01 2346 C9A6".  
Enter number(s), N)ext, or Q)uit > n

然后我使用recv-key

gpg --recv-key 74810B012346C9A6                          

结果:

gpg: key 74810B012346C9A6: new key but contains no user ID - skipped
gpg: Total number processed: 1
gpg:           w/o user IDs: 1

我做了一些研究,然后再次尝试:

gpg --keyserver keyserver.ubuntu.com --recv 74810B012346C9A6

结果:

gpg: key 74810B012346C9A6: public key "Wladimir J. van der Laan <laanwj@visucore.com>" imported
gpg: Total number processed: 1
gpg:               imported: 1

使用命令 list-keys 我可以看到结果: gpg --list-keys

pub   rsa2048 2011-08-24 [SC] [expires: 2022-02-10]
      71A3B16735405025D447E8F274810B012346C9A6
uid           [ unknown] Wladimir J. van der Laan <laanwj@visucore.com>
uid           [ unknown] Wladimir J. van der Laan <laanwj@gmail.com>
uid           [ unknown] Wladimir J. van der Laan <laanwj@protonmail.com>
sub   rsa2048 2017-05-17 [S] [expires: 2022-02-10]
sub   rsa2048 2017-05-17 [A] [expires: 2022-02-10]
sub   rsa2048 2011-08-24 [E]

现在,我尝试进行验证

gpg --verify SHA256SUMS.asc

结果:

gpg: Signature made Sun Nov 24 10:14:42 2019 CET
gpg:                using RSA key 90C8019E36C2E964
gpg: Can't check signature: No public key

我试图下载公钥形式https://bitcoin.org/en/full-node#mac-os-x-yosemite-1010xhttps://keys.openpgp.org(带指纹)但我得到不同的值.

4

2 回答 2

0

这个问题是一年多前提出的,但无论如何我都会回答,以防它帮助某人:

首先,在步骤:

输入数字、N)ext 或 Q)uit > n

您应该键入1以导入该密钥。那将立即导入它,因此您以后不必使用--recv-keys

但验证失败的真正原因是您导入的密钥与用于签署文件的密钥不同。正如您可以从您发布的链接中看到的那样:

早期版本由 Wladimir J. van der Laan 的常规密钥签名。该密钥的指纹是:71A3 B167 3540 5025 D447 E8F2 7481 0B01 2346 C9A6。

因此,您导入了旧密钥。正确的就在那里:

0.11 及更高版本由 Wladimir J. van der Laan 的版本密钥签名,指纹为:01EA 5486 DE18 A882 D4C2 6845 90C8 019E 36C2 E964。

最后,您导入的密钥被标记为[ unknown]因为您还没有签名。您可以使用 来做到这一点gpg --sign-key <user-id>,因此它将被标记为[ full ],表示您信任它。

于 2021-03-15T01:27:26.777 回答
0

gist.github.com/laanwj/8368525bba4d89488dd5a0418884d91d导入密钥

while read line; do gpg  --keyserver keyserver.ubuntu.com  --recv-key ${line:0:41}; done < keys.txt  |  curl  -fsSL https://gist.githubusercontent.com/laanwj/8368525bba4d89488dd5a0418884d91d/raw/0ff5573bf5c0b932d2ca567f77fadf038816c7b8/keys.txt  -o  keys.txt
于 2021-07-23T18:23:55.543 回答