导入签署你的密钥的公钥

导入签署你的密钥的公钥

我最近丢失了我的 .gnupg 文件夹。幸运的是,我备份了我的私钥,但是我想重新导入已签名我的密钥的公钥。我如何轻松地导入所有这些密钥 - 最好是一次性导入?

pub   2048R/52AE9CEE 2012-01-20 [expires: 2015-02-09]
uid                  Thom Wiggers <antispamsnip>
sig 3        52AE9CEE 2012-01-20  Thom Wiggers <antispamsnip>
sig          2EF8C903 2012-12-04  [User ID not found]
sig 1        7E8162D1 2012-12-01  [User ID not found]
sig 2        EC362321 2012-11-29  [User ID not found]

答案1

gpg --list-sigs | grep 'ID not found' | perl -nwe '/([0-9A-F]{8})/ && print "$1\n"' | xargs gpg --recv-keys

这应该能满足您的要求。它会查找每个缺失的用户 ID,然后提取密钥 ID 并构建要从密钥服务器获取的公钥列表。

答案2

要将公钥导入到你的密钥环中,你需要该公钥。由于您丢失了.gnupg文件夹,因此您还丢失了要重新导入的公钥的本地副本,因此您必须在“其他地方”检索它们。其他人的公钥通常可以在他们的网页上、他们发送给您的签名电子邮件的附件或公钥服务器。

如果您需要的公钥确实在密钥服务器上,则使用gpg --recv-keys来检索它们并将其导入到您的密钥环中。例如:

$ gpg --recv-keys 2EF8C903
gpg: requesting key 2EF8C903 from hkp server pool.sks-keyservers.net
gpg: key 2EF8C903: public key "Luuk Scholten <antispamsnip>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   7  signed:   4  trust: 0-, 0q, 0n, 0m, 0f, 7u
gpg: depth: 1  valid:   4  signed:   0  trust: 3-, 0q, 0n, 0m, 1f, 0u
gpg: next trustdb check due at 2013-09-23
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

如您所见,此命令恰好找到了与指定 ID 匹配的一个密钥,并将其导入到我的密钥环中。

(从您的密钥环中导入其他人的公钥不存在安全问题。输入并不意味着信任

相关内容