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