【问题标题】:Does an OpenPGP signature contain the signer's user ID?OpenPGP 签名是否包含签名者的用户 ID?
【发布时间】:2013-01-31 12:09:35
【问题描述】:

我有一个签名的公钥。我想查看这个 OpenPGP 公钥中的所有签名。

我有签名列表,当我尝试获取签名者的用户 ID 时,没有返回任何内容。

所以我怀疑 OpenPGP 签名是否包含签名者的用户 ID。

我使用 Thunderbird 查看签名,但它也显示未找到用于签名的用户 ID,当我导入与我签名的私钥对应的公钥时,它显示签名者的用户 ID。

我的结论是 OpenPGP 签名不包含签名者的用户 ID。它们仅包含密钥 ID。如果您也有签名者的公钥,那么它会尝试从该公钥中获取用户 ID 并显示给您。

注意:我使用的是充气城堡 API。

【问题讨论】:

  • C# 和 Java 都有 bouncycastle-implementations,一定要包括你正在使用的那个。

标签: bouncycastle openpgp


【解决方案1】:

在签署另一个密钥(与此密钥的 UID 相关)时,您的密钥中包含的所有内容都是密钥 ID。

Thunderbird 尝试将该密钥 ID 解析为密钥的默认 UID,但这仅在公钥位于 Thunderbird 的密钥环中时才有效。

如果您想在自己的软件中解析 UID,则必须拉取密钥的 ID 并寻找匹配的公钥。

所以我的结论是 Pgp 签名不包含签名者的用户 ID。它只包含keyid。如果您也有签名者的公钥,那么它会尝试从该公钥中获取用户 ID 并显示给您。

是的,这是唯一的方法。

【讨论】:

  • 但在这种情况下,我将无法查看未在我的密钥环中导入的公钥的签名的 UID。
  • 您必须导入它或以其他方式加载它;您也可以尝试查询密钥服务器。
  • 同样在这种情况下,信任网络将如何出现。因为如果我可以查看 UID,我可以相信密钥,否则我将丢弃密钥。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-01
相关资源
最近更新 更多