我使用 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 的实际标准格式。