【发布时间】:2016-04-21 03:00:12
【问题描述】:
我已经用 GPG 密钥“A”签署了一段时间的 git 提交。过了一会儿,我决定撤销该密钥并开始使用 GPG 密钥“B”。我还继续使用密钥“B”签署新的 git 提交。
我仍然在本地保留两个密钥(撤销的密钥“A”和新的密钥“B”)。新的提交没问题,但我现在遇到的问题是,当使用git log --show-signature 查看时,所有使用撤销密钥“A”签名的旧 git 提交都会显示红色警告。
下面是这个警告在 git log 中的样子(大部分都是红色的):
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 log --format="%G?":见my revised answer below和更详细的答案“Verifying signed git commits?”的结尾。