簡體   English   中英

使用已撤銷的GPG密鑰處理簽名的git提交

[英]Handling signed git commits with revoked GPG key

我已經用GPG鍵“ A”簽署了git commit一段時間了。 一段時間后,我決定撤銷該鍵,並開始使用GPG鍵“ B”。 我還繼續用鍵“ B”簽署新的git commits。

我仍將兩個密鑰(已撤銷的密鑰“ A”和新密鑰“ B”)保留在本地。 新的提交是可以的,但是我現在遇到的問題是,當使用git log --show-signature查看時,所有用撤銷的鍵“ A”簽名的舊git提交都顯示紅色警告。

這是此警告在git日志中的顯示方式(大多數警告是紅色的):

commit 39a53e42c8856278f481b9035e54eb90d8d2a0b7
gpg: Signature made Sat Aug  1 22:24:38 2015 CEST using RSA key ID 2F7EF26C
gpg: Good signature from "My Name <email1>" [ultimate]
gpg:                 aka "My Name <email2>" [ultimate]
gpg: WARNING: This key has been revoked by its owner!
gpg:          This could mean that the signature is forged.
gpg: reason for revocation: Key is superseded
gpg: revocation comment: New GPG key is used.
gpg: revocation comment: New key fingerprint: C464 17C1 4F7B D54E A082  7090 CAFA 7B1B 2914 ED81
gpg: revocation comment: New key id:          2914ED81
Author: My name <email1>
Date:   Sat Aug 1 22:24:38 2015 +0200

    Improve test helper

有沒有可以告訴git或gpg的設置,該密鑰仍然“確定”且可信任,只是我不再使用它了? (我想保留這個舊密鑰)

如果gpg(或git)“溫和”地表示密鑰未使用,而不是建議偽造的提交,我將不勝感激。 是否可以設置安全性或信任設置來實現此目的?

使用Git 2.11更新2016年第四季度:

git logERRSIGEXPSIGEXPKEYSIGREVKEYSIG引入了其他狀態代碼EXYR ,以便%G?的用戶使用%G? 獲取更多信息。
請參閱驗證已簽名的git commit?


您的情況似乎沒有什么可做的。

在2010年進行了辯論 ,其中包括一個有趣的想法作為最佳實踐:

當然,每個密鑰可以有一個以上的電子郵件地址,但是每個電子郵件都不應具有多個。

實際上這很普遍。
至少,如果人們試圖在較舊的密鑰與較新的密鑰之間進行轉換,例如,如果他們試圖從安全性較低的加密算法過渡到安全性更高的加密算法,則至少會發生這種情況。

據我了解,管理此類事物的最佳方法是使用子項。 您可以更改子密鑰的到期時間,然后最終可以撤銷它,同時始終保留一個主公鑰以進行簽名
確實,定期更改子密鑰並使舊密鑰失效是個好主意。

查看是否可以使用子鍵 (例如,在本教程 教程之后 ):

OpenPGP進一步支持子密鑰,該子密鑰與普通密鑰一樣,只不過它們已綁定到主密鑰對。 子項可用於簽名或加密。
子密鑰真正有用的部分是,它們可以獨立於主密鑰而撤銷,也可以與主密鑰分開存儲。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM