github:PGP key 使用标志不允许签名

标签 git github gnupg pgp

我已经使用我的 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对那个错误只字不提。

所以我的问题:

  1. 我如何阅读这些标志?
  2. 如何更改我的 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/

相关文章:

git - 修改 Github 上推送提交的用户名

php - 如何使用 GnuPG 模块确定 PHP 中导入的 OpenPGP key 的指纹?

java - Shell 命令从 java 失败,但在手动运行时有效

c# - GNUPG:在删除公钥时抑制消息

git - 如何获取 "cleansed"Git 存储库?

node.js - 通过 github 部署时,nodejitsu 中的快照版本没有变化

推送到远程仓库时git push错误

java - 如何使用 JGit 获取从某个特定日期到当前日期的特定类型的提交

git - 在 Git 中仅提交文件的部分更改

git 提交和用户身份