我有指纹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键
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
使用命令列表键,我可以看到该结果: GPG --列表键
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-1010x 并 https://keys.openpgp.org(带指纹(,但我得到不同的值。
这个问题是在 1 年前问过的,但无论如何我都会回答,以防它对某人有帮助:
首先,在步骤中:
输入数字、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 ]
,这意味着你信任它。
从 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