更新 OpenPGP 密钥服务器,添加和删除身份

更新 OpenPGP 密钥服务器,添加和删除身份

当向我的 OpenPGP 密钥添加新身份时,我可以将公钥上传到密钥服务器,以便其他人更新他们的副本。

现在,当我删除一个身份时,密钥服务器会更新到我的公钥的新版本吗?或者它会保留旧副本,因为新版本包含较少的身份?

如果它确实更新了密钥,就像我要求的那样,如果其他人上传了旧密钥,他们是否能够用他们的旧密钥覆盖我的新公钥副本?

答案1

OpenPGP 密钥不是单个对象,而是由整个 OpenPGP 数据包流组成。例如,公钥消息由(除其他外)主公钥数据包、子密钥数据包、用户 ID 数据包和不同类型的签名组成,其中一些提供其他 OpenPGP 用户的认证,另一些绑定用户 ID 和子密钥。密钥服务器将始终合并这些数据包,绝不会删除任何内容。

如果它确实更新了密钥,就像我要求的那样,如果其他人上传了旧密钥,他们是否能够用他们的旧密钥覆盖我的新公钥副本?

如果您添加另一个用户 ID,则会添加另一个数据包(并在发送到密钥服务器时合并)。这还包括上传您密钥的“旧”版本的其他用户不会删除您新添加的用户 ID——他们上传的是“不完整”的副本,该副本将被合并(并且可能根本不会更改任何内容)。

现在,当我删除一个身份时,密钥服务器会更新到我的公钥的新版本吗?或者它会保留旧副本,因为新版本包含较少的身份?

另一方面,这也意味着您无法删除旧用户 ID,因为这不符合密钥服务器的“合并”操作模式。相反,您撤销旧用户 ID(以及所有其他类型的 OpenPGP 实体),这会导致特殊的撤销签名作为另一个 OpenPGP 包添加,并合并到您的公钥中。

答案2

您无法“覆盖”或以其他方式消除来自 PGP 密钥服务器的数据——您只能撤销它(使用 GnuPG revuid),然后将“撤销签名”上传到密钥服务器。

然而,现代密钥服务器只接受由主密钥签名的身份——这是您在签名列表中看到的“[自签名]”条目。虽然有人可以轻松制作假用户 ID 数据包,但他们无法伪造自签名。

相关内容