我已经使用我的 OpenPGP key 签署了一个 git 提交,但它在 github 上显示为“未验证”:https://github.com/cweiske/jsonmapper/commits/master
The usage flags for the key that signed this don't allow signing.
GPG key ID: 14C85A0824EAF823
github gpg signature docs对那个错误只字不提。
所以我的问题:
- 我如何阅读这些标志?
- 如何更改我的 key 以允许代码签名?
最佳答案
你可以看看你的签名能力by either looking at the output of --edit-key
or GnuPG's colon-separated output .
查看您的 key ,我看到您有一堆过期的子 key (一些具有签名功能)和一个具有签名和认证功能集的主 key 。主键的有效期延长了两次(也可以考虑阅读有关此主题的 "Does OpenPGP key expiration add to security?")。
我在这里看到两个可能的问题:
- GitHub 还没有您的公钥的最新副本。因此,发出签名的 key 不被视为签名 key ,因为它在 GitHub 上似乎已过期。不过,错误消息是错误的,GitHub 应该会告诉您 key 已过期。上传更新的 key 副本应该可以解决问题。
- GitHub 软件中存在一个错误,导致它在签名子 key 存在时忽略主 key (无论它们是否过期)。
关于github:PGP key 使用标志不允许签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45089283/