GitHub:PGP密钥使用标志不允许签名。

7
我已经使用我的OpenPGP密钥签署了一个git提交,但在github上显示为“未验证”:https://github.com/cweiske/jsonmapper/commits/master 引用: 该签名的密钥使用标志不允许签名。 GPG密钥ID:14C85A0824EAF823 Github gpg签名文档没有提及此错误。
所以我的问题是:
1. 如何阅读这些标志? 2. 如何更改我的密钥以允许代码签名?
1个回答

6
您可以通过查看--edit-key的输出或GnuPG的冒号分隔输出来查看您的签名能力
从您的密钥中可以看出,您有一堆已过期的子密钥(其中一些具有签名功能),还有一个设置了签名和认证能力的主密钥。主密钥的到期时间被延长了两次(在这个主题上,还应考虑阅读"OpenPGP密钥过期是否增加安全性?")。
这里可能存在两个问题:
  • GitHub还没有您的最新公钥副本。因此,签署的密钥不会被视为签名密钥,因为在GitHub看来它已过期。尽管如此,错误消息仍然很糟糕,GitHub应该通知您有关过期密钥的信息。上传更新的密钥副本应该解决该问题。
  • GitHub软件存在漏洞,使其忽略主密钥存在子密钥时的签署操作(无论它们是否过期)。

我已经上传了最新版本,但仍然被视为无效。我已经联系了Github支持。 - cweiske
我从Github的支持团队得到了回复:他们知道这个问题,但不知道何时会修复它 :/ - cweiske
我猜添加一个新的签名子密钥将解决这个问题,并且这也是一个好的实践。 - Jens Erat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接