如何从我的 PGP 密钥中删除“真实姓名”?

如何从我的 PGP 密钥中删除“真实姓名”?

我使用 GnuPG,正如本文中提到的回答,通过命令行界面编辑时,邮件地址可以不包含在用户 ID 中。

有没有什么方法 - 即使这意味着使用手动破解、第三方工具或其他任何东西 - 来删除/跳过填写“真实姓名”字段?

答案1

OpenPGP 用户 ID 定义在OpenPGP 4880,OpenPGP,5.11。用户 ID 包(标签 13)由任意字符串组成,“真实姓名(评论)[电子邮件保护]“只不过是一种惯例。按照规范,它甚至可能是空字符串。

5.11. 用户ID包(标签13)

用户 ID 数据包由 UTF-8 文本组成,用于表示密钥持有者的姓名和电子邮件地址。按照惯例,它包含 RFC 2822 [RFC2822] 邮件名称地址,但对其内容没有任何限制。标头中的数据包长度指定用户 ID 的长度。

GnuPG(至少在 2.1 版中,我用它来验证这个说法)也不强制使用名称——只是省略任何内容。事实上,GnuPG 实际上似乎支持空字符串用户 ID!

gpg> adduid
Real name: 
Email address: [email protected]
Comment: 
You selected this USER-ID:
    "[email protected]"

Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? 

并非所有版本的 GnuPG 默认都允许自由格式的用户 ID,并且需要--allow-freeform-uid。来自man gpg

--allow-freeform-uid

生成新用户 ID 时禁用对用户 ID 格式的所有检查。该选项仅应在非常特殊的环境中使用,因为它不能确保用户 ID 的实际标准格式。

相关内容