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 進行了演示)。

相關內容