如何验证 asc 密钥指纹?

如何验证 asc 密钥指纹?

目前,我正在尝试检查从中下载的 oracle_vbox.asc 密钥的指纹http://www.virtualbox.org/wiki/Linux_Downloads:他们提供了钥匙和指纹,但没有提供我自己审查这些信息的说明。

我如何显示刚刚下载的密钥的指纹?

apt-key finger oracle_vbox.asc显示所有受信任密钥的指纹,这不是我想要的。

答案1

获取密钥:

$ wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

使用 GPG 版本 1 打印密钥指纹:

$ gpg --with-fingerprint oracle_vbox.asc 
pub  1024D/98AB5139 2010-05-18 Oracle Corporation
                      (VirtualBox archive signing key) <[email protected]>
      Key fingerprint = 7B0F AB3A 13B9 0743 5925  D9C9 5442 2A4B 98AB 5139
sub  2048g/281DDC4B 2010-05-18
      Key fingerprint = 27B0 97CF 8257 4209 C434  8D42 B674 8A65 281D DC4B

注意,第二个指纹只是子密钥的指纹。

使用 GPG 版本 2 打印指纹:

$ gpg2 -n -q --import --import-options import-show  oracle_vbox.asc   
pub   dsa1024 2010-05-18 [SC]
      7B0FAB3A13B907435925D9C954422A4B98AB5139
uid   Oracle Corporation (VirtualBox archive signing key) <[email protected]>
sub   elg2048 2010-05-18 [E]

请注意,-n是的别名--dry-run,即该密钥实际上并未导入。

或者,仅显示指纹:

$ gpg2 -nq --import --import-options import-show --with-colons oracle_vbox.asc \
     | awk -F: '$1 == "fpr" { print $10 }'
7B0FAB3A13B907435925D9C954422A4B98AB5139
27B097CF82574209C4348D42B6748A65281DDC4B

答案2

步骤1

$ deb http://download.virtualbox.org/virtualbox/debian artful contrib

第2步

$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

步骤3

$ apt-key list

或者,等价地,

$ apt-key finger

应该返回

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2016-04-22 [SC]
      B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid           [ unknown] Oracle Corporation (VirtualBox archive signing key) <[email protected]>
sub   rsa4096 2016-04-22 [E]

这又应该相当于

oracle_vbox_2016.asc 的密钥指纹是

B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
Oracle Corporation (VirtualBox archive signing key) <[email protected]>

https://www.virtualbox.org/wiki/Linux_Downloads,无论是通过目视检查还是进一步的命令行 fu。


相关链接:

答案3

使用GPG版本2.2.27

gpg --version

# output
gpg (GnuPG) 2.2.27
libgcrypt 1.9.4

.asc从以下位置下载当前文件https://www.virtualbox.org/wiki/Linux_Downloads截至撰写本文时(2023-03-22):

wget https://www.virtualbox.org/download/oracle_vbox_2016.asc

VirtualBox 网站目前声明:

oracle_vbox_2016.asc 的密钥指纹是

B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
Oracle Corporation (VirtualBox archive signing key) <[email protected]>

以下命令都允许验证此信息,每个命令都有不同的格式:

gpg --show-keys --with-fingerprint --keyid-format=short oracle_vbox_2016.asc

输出:

pub   rsa4096/2980AECF 2016-04-22 [SC]
      Key fingerprint = B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid                    Oracle Corporation (VirtualBox archive signing key) <[email protected]>
sub   rsa4096/920E471F 2016-04-22 [E]

gpg --show-keys --with-fingerprint oracle_vbox_2016.asc

输出:

pub   rsa4096 2016-04-22 [SC]
      B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid                      Oracle Corporation (VirtualBox archive signing key) <[email protected]>
sub   rsa4096 2016-04-22 [E]

gpg --show-keys oracle_vbox_2016.asc

输出:

pub   rsa4096 2016-04-22 [SC]
      B9F8D658297AF3EFC18D5CDFA2F683C52980AECF
uid                      Oracle Corporation (VirtualBox archive signing key) <[email protected]>
sub   rsa4096 2016-04-22 [E]

gpg --show-keys --with-colons oracle_vbox_2016.asc

输出 (”--with-colons选项以稳定的、机器可解析的格式发出输出,供脚本和其他程序使用。“):

pub:-:4096:1:A2F683C52980AECF:1461318881:::-:::scESC::::::23::0:
fpr:::::::::B9F8D658297AF3EFC18D5CDFA2F683C52980AECF:
uid:-::::1461318881::CA5D570DDFDB695A0301885765DD8E285368742C::Oracle Corporation (VirtualBox archive signing key) <[email protected]>::::::::::0:
sub:-:4096:1:AD18C79D920E471F:1461318881::::::e::::::23:
fpr:::::::::31DD01EB8C64DF3D12E7BC97AD18C79D920E471F:

答案4

您有钥匙和指纹吗?运行:

ssh-keygen -lf key.pub

对准钥匙即可获取指纹。

ssh-keygen参考:http://www.manpagez.com/man/1/ssh-keygen/

相关内容