建立吊銷憑證 - “無金鑰”

建立吊銷憑證 - “無金鑰”

我有一個 GPG 金鑰,我可以驗證我是否擁有金鑰並列印出其內容:

 $ gpg --list-secret-keys 
/home/user/.gnupg/pubring.kbx
------------------------------
sec#  rsa2048 2019-07-11 [SC]
      9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616
uid           [ultimate] My Name <my.email@email>
ssb   rsa2048 2019-07-11 [E]

我可以使用列印出來

$ gpg --export-secret-keys -a
-----BEGIN PGP PRIVATE KEY BLOCK-----
....
-----END PGP PRIVATE KEY BLOCK-----

但是,當我嘗試建立吊銷憑證時,我得到:

$ gpg --gen-revoke 9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616
gpg: secret keys "9EEBCEAD0915834DFCE24B11A738D3C1E6BFA616" not found: No secret key

為什麼會發生這種情況呢?當然,系統可以存取金鑰,用它來產生吊銷憑證。

答案1

我可以驗證我是否擁有金鑰

不,你不知道。這#意味著主密鑰的私有部分遺失了。 GnuPG 仍然顯示整個條目,只是因為您有某些條目的私有部分子項

每個 PGP 金鑰實際上是一組幾個獨立的 RSA/DSA/EdDSA 金鑰:一個用於簽署金鑰的金鑰對 [C];有時用於簽署訊息的單獨金鑰對 [S];並且始終有一個單獨的密鑰對用於解密訊息[E]。

由於這些金鑰對具有不同的用途並且需要不同的安全級別,因此有些人選擇故意將部分PGP 金鑰匯出到不太受信任的機器中- 因此,如果有人偷了筆記型電腦,他們將能夠閱讀舊電子郵件,但不會能夠使用 PGP 冒充您。

在這裡,您的電腦還缺少 [SC] 金鑰的私有部分,這意味著它可以解密收到的電子郵件和文件,但根本無法簽署任何內容。而且由於編輯或撤銷您自己的金鑰需要使用其自身進行簽名,因此如果沒有 [C] 私鑰,這也是不可能的。

相關內容