如何解决错误:gpg:密钥的数据签名错误:密钥使用错误(0x19、0x2)

如何解决错误:gpg:密钥的数据签名错误:密钥使用错误(0x19、0x2)

当我运行时,gpg --keyid-format LONG -K我看到以下输出。私人信息被大写值替换。

gpg: bad data signature from key PROBLEMID: Wrong key usage (0x19, 0x2)
/Users/balupton/.gnupg/pubring.gpg
----------------------------------
sec   rsa4096/AID 2016-03-15 [SC]
      BID
uid                 [ultimate] Benjamin Lupton <PERSONALEMAIL>
uid                 [ultimate] Benjamin Lupton <WORKEMAIL>
ssb   rsa2048/PROBLEMID PASTDATE [E] [expires: FUTUREDATE]
ssb   rsa2048/CID PASTDATE [SA] [expires: FUTUREDATE]

我该如何解决这个问题?为什么会发生这种情况?

答案1

此错误消息是由 GnuPG 的最新更改引起的:

http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=commitdiff;h=214b0077264e35c079e854a8b6374704aea45cd5

该密钥在创建方式上存在缺陷,因为使用子密钥 PROBLEMID 生成的类型为 0x19 的内部签名(即“主密钥绑定签名”,参见 RFC 4880 第 5.2.1 节)无效。

每个子密钥应该有一对 0x18 和 0x19 签名,将其绑定到主密钥,并将主密钥绑定到它。

密钥使用标志记录在此 IANA 注册表中:https://www.iana.org/assignments/pgp-parameters/pgp-parameters.xml#pgp-parameters-11

相关内容