gpg 和 apt-key 中公钥的 keyid 和指纹是什么?

gpg 和 apt-key 中公钥的 keyid 和指纹是什么?

https://superuser.com/a/931814/

下面是使用 GnuPG 包的gpg命令接收-recv-keys带有指纹的密钥 ( ) 的示例命令7CE8FC69BE118222

$ gpg --recv-keys 7CE8FC69BE118222

钥匙和指纹是不同的概念吗?

来自以下的联机帮助页apt-key

apt-key export <keyid>

将密钥输出keyid到标准输出。

key和它keyid有不同的概念吗?

keyid钥匙和指纹是同一个概念吗?

例如,我们可以首先检索密钥

gpg --keyserver keyserver.ubuntu.com --recv-key E298A3A825C0D65DFD57CBB651716619E084DAB9

然后将其apt-key喂给

gpg -a --export E298A3A825C0D65DFD57CBB651716619E084DAB9 | sudo apt-key add -

E298A3A825C0D65DFD57CBB651716619E084DAB9钥匙、keyid钥匙的指纹还是钥匙的指纹?

E298A3A825C0D65DFD57CBB651716619E084DAB9为什么我替换为 后它仍然有效51716619E084DAB9

答案1

的答案GnuPG:密钥 ID 和指纹的表示解释密钥 ID 和指纹之间的区别。密钥 ID 和指纹是密钥(的一部分)散列,因此它们与密钥不同。

让我们以我的一个公钥为例;二进制格式的最小导出长度不到 4KiB,这就是整个密钥(不带签名)。这相当笨重,所以我的密钥是通过指纹来识别的:

7196 E081 94D5 3FCB FD15  D960 FA6C 71F9 A73D BE0B

这是我的密钥的可靠标识符。

密钥 ID 更短; “长”密钥 ID 是

0xFA6C71F9A73DBE0B

(指纹的最后八个字节),“短”密钥 ID 是

0xA73DBE0B

如今,这些都不应该用于密钥识别——可以创建具有匹配密钥 id 的密钥(这已经通过短密钥 id 进行了演示)。

相关内容