取消撤销 PGP 密钥

Cae*_*sar 20 pgp gnupg

在使用 GPG(并试图找出一种安全的方法来存储我的撤销证书以便其他人无法使用它)时,我不小心撤销了我的 PGP 密钥。

撤销只是局部的;没有发送到密钥服务器,所以我确信会有办法取消撤销它......但我找不到任何东西。即使删除密钥并重新导入它也无济于事;它仍然显示为已撤销。最后我删除了我的整个钥匙圈并重新导入了所有东西,这很有效。但必须有更好的方法......

所以; 如何取消撤销GPG 中的 PGP 密钥?

另外,撤销存储在哪里,为什么当我从钥匙圈中删除密钥时它没有被删除?

万一有什么不同,我在 OS X 上使用 GPG 和GPGTools包。

Cae*_*sar 23

事实证明,删除和重新导入密钥可能的(并且相对简单),前提是它位于密钥服务器上(当然,前提是撤销尚未发送到密钥服务器)。

这是我发现的工作(THEKEYID是密钥的短 ID):

  1. 删除公钥如下(该--expert选项允许删除公钥同时保留私钥):
    gpg --expert --delete-key THEKEYID

  2. 按确认:
    y

  3. 从密钥服务器中再次获取公钥:
    gpg --keyserver subkeys.pgp.net --recv-keys THEKEYID

完毕!

据推测,这也可以通过公钥的本地(撤销前)备份来完成,gpg --import public.key而不是使用第三个命令。

简单地从 GPG 钥匙串访问 GUI 中删除整个密钥(公共和私人),然后从备份中恢复,是行不通的 - 我不知道为什么。