我的 GPG 子密钥是否已上传到密钥服务器?

信息安全 pgp gnupg
2021-08-28 02:57:37

我一直在尝试添加到 GnuPG 2.1 中的新 ECC 密钥。

我创建了一个主键,然后添加了一个 ed25519 签名子键。所以我知道得到这个:

➜  ~  gpg2 -K
/Users/jonny/.gnupg/pubring.kbx
-------------------------------
sec   brainpoolP384r1/0x4E8DDC0EDE5D23A6 2015-01-09 [expires: 2016-01-09]
     Key fingerprint = EB55 21A4 5B8D 7310 53A6  E5DE 4E8D DC0E DE5D 23A6
uid                 [ultimate] Jonny Barnes <jonny@jonnybarnes.uk>
ssb   brainpoolP384r1/0xAE4F07A02E2C8780 2015-01-09 brainpoolP384r1 [expires: 2016-01-09]
ssb   ed25519/0xCDE84418F36C7F7B 2015-01-09 ed25519 [expires: 2016-01-09]

然后我跑了gpg2 --send-keys 0x4E8DDC0EDE5D23A6,但这是我在密钥服务器上查找密钥看到的

pub   384E/DE5D23A6 2015-01-09            
 Fingerprint=EB55 21A4 5B8D 7310 53A6  E5DE 4E8D DC0E DE5D 23A6 

uid Jonny Barnes <jonny@jonnybarnes.uk>
sig  sig3  DE5D23A6 2015-01-09 __________ 2016-01-09 [selfsig]

sub   384e/2E2C8780 2015-01-09            
sig sbind  DE5D23A6 2015-01-09 __________ 2016-01-09 []

它只显示一个子键?我的第二个签名子密钥在哪里?

1个回答

正常pool.sks-keyservers.net包含一堆SKS软件版本,至少需要1.1.2。SKS 从最新的 1.1.5 版本开始才完全支持 ECC 密钥,所以一些服务器无法使用您的密钥,它们会省略他们不理解的内容,从而丢弃您的一些密钥数据包。

subset.pool.sks-keyservers.net改为使用,仅限于运行 1.1.5 版本的服务器,因此完全符合 ECC。

基于邮件列表回复的更新:ed25519 OpenPGP 密钥仅在 SKS 版本 1.1.5 发布后才标准化。截至 2015 年 1 月,只有 SKS 密钥服务器的预发布版本会打印密钥而不会丢失数据包(较新版本默认支持它),但已经通过附加&clean=off到运行版本 1.1.5 的服务器的 URL来完全检索