如何撤销 GPG 密钥并上传到 GPG 服务器?

Kar*_*ogi 8 code-signing gnupg private-key

我已经创建了用于代码签名的 GPG 密钥并创建了一个吊销证书。据我所知,如果密钥被泄露,那么我可以使用吊销证书来吊销密钥。

有人可以建议我如何使用吊销证书吊销我的密钥吗?还有一个疑问是,在撤销密钥后,我应该在任何 GPG 密钥服务器上上传吗?以便使用我的密钥验证代码签名的人可以在使用我的代码签名文件之前检查密钥是否被撤销。

如果不需要在密钥服务器中上传,那么我的客户如何检查密钥是否被撤销?

har*_*ymc 14

这是撤销步骤的摘要,基于文章 GPG:撤销您的公钥并通知密钥服务器。下面假设密钥服务器是pgp.mit.edu.

列出键

gpg --list-keys
Run Code Online (Sandbox Code Playgroud)

撤销您的密钥

gpg --output revoke.asc --gen-revoke key-ID
Run Code Online (Sandbox Code Playgroud)

将吊销证书导入您的密钥环

gpg --import revoke.asc
Run Code Online (Sandbox Code Playgroud)

在密钥服务器上搜索您的密钥

gpg --keyserver pgp.mit.edu --search-keys key-ID
Run Code Online (Sandbox Code Playgroud)

将撤销的密钥发送到密钥服务器

gpg --keyserver pgp.mit.edu --send-keys key-ID
Run Code Online (Sandbox Code Playgroud)


use*_*686 9

\n

据我所知,如果密钥被泄露,我可以使用吊销证书吊销密钥。

\n
\n\n

是的,但只要您拥有实际的私钥(如果它已被泄露但未被破坏),您始终可以使用它来撤销自身。也就是说,它始终可以“即时”生成新的吊销证书。

\n\n

相反,预生成的吊销证书在私钥完全丢失的情况下存在,而不仅仅是在私钥被泄露时。它可以存储在朋友家的 USB 记忆棒上。

\n\n

(当然,您也应该始终在异地保留私钥的备份。但最大的区别是私钥的备份更加敏感,因为如果被盗,它可以用来以您的名义执行任何操作,而“吊销证书”只能用于做一件非常具体的事情。)

\n\n
\n

有人可以建议我如何使用吊销证书吊销我的密钥吗?

\n
\n\n

将 revcert导入您的 PGP 密钥环 \xe2\x80\x93应该就足够了,它本质上只是一个密钥签名(GnuPG 中的“自我认证”),以与您可以拥有的完全相同的方式附加到您的主公钥其他人签署您的密钥并导入这些签名。

\n\n

导入后,程序应将密钥显示为已撤销,并且您应在标准位置(密钥服务器等)发布更新后的公钥。

\n\n
\n

还有一个疑问是,撤销密钥后我应该在任何 GPG 密钥服务器上上传吗?

\n
\n\n

是的你应该。密钥服务器的用途是发布密钥(以及密钥更新)。

\n\n
\n

如果不需要在密钥服务器中上传,那么我的客户如何检查密钥是否被撤销?

\n
\n\n

您可以手动(重新)将已撤销的密钥导出到文件并直接将其提供给他们(或者如果您希望客户每天重新检查它,则将其发布在 Keybase 或您的网站 \xe2\x80\x93 上...)但他们肯定不会神奇地知道你的计算机内部发生了什么。这就是密钥服务器存在的原因。

\n