git - 无法在 GitHub 上将我的第二封邮件提交为 "verified"

标签 git github gnupg gpg-signature

目前,我使用 2 封电子邮件(个人 + 公司)和一个 SSH key 登录到 GitHub。但我使用相同的 GPG key 进行签名。两者都在我的 GitHub 电子邮件设置页面上进行了验证。
在第一个(个人)上,没问题,当我提交时,它显示为已验证。在第二个(公司)上,提交在 GitHub 中显示为未验证,并显示以下警告消息:

The email in this signature doesn’t match the committer email.


$ gpg --list-secret-keys --keyid-format LONG

...
sec   rsa4096/MY_GPG_KEY_ID 2020-05-19 [SC] [expires: 2022-05-19]
...
uid    [ultimate] Furkan (Company key) <second_email@test.com>
uid    [ultimate] Furkan <first_email@test.com>
在存储库中:
$ git log --show-signature

...
gpg: Good signature from "Furkan (Company key) <second_email@test.com>" [ultimate]
gpg:                 aka "Furkan <first_email@test.com>" [ultimate]
Author: MyGitHubNickname <second_email@test.com>
...
本地配置设置:
$ git config --local --list

...
user.name=Furkan
user.email=second_email@test.com
全局配置设置:
$ git config --global --list

...
user.name=MyGitHubNickname
user.email=second_email@test.com
user.signingkey=MY_40_CHARACTER_SIGNING_KEY
但没有用:
$ git commit -S --amend --reset-author
$ git push --force
我在这个 pop 窗口的底部看到了 MY_GPG_KEY_ID 键,完全一样。
picture
我关注了 Troubleshooting commit signature verificationUsing a verified email address in your GPG key GitHub Docs 中描述的指南,但仍然没有解决问题。

最佳答案

到目前为止你所做的一切都是正确的;您只是错过了更新 GitHub 公钥副本的最后一步。
您需要重新生成您的公钥( gpg --armor --export KEY_ID ),然后,在您的 GitHub 用户设置 > “SSH 和 GPG key ”中,您需要 删除原来的 key 并上传重新生成的公钥。
这就是它最终的样子。使用任何列出的地址签名的提交现在将显示为已验证。
GPG key with two associated email addresses

关于git - 无法在 GitHub 上将我的第二封邮件提交为 "verified",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67380948/

相关文章:

git - 在git中,保存不同版本快照的最佳方式是什么?

git - 如何在 Gerrit 中创建一个新的补丁集?

git - 从本地存储库推送到 GitHub 托管的远程

GitHub 仓库转移

python - github 上 Python 包的自述文件的格式是什么?

bash - 无需键盘交互的 gpg 加密文件

java - 如何选择 maven-gpg-plugin 用于签署 Artifact 的 GnuPG key ?

gradle - 如何使用Gradle和gpg2签名

git - 如何从 gitk 暂存和提交?

linux - 使用 NeoBundle 时跨 mac 和 Ubuntu 服务器同步 vim 设置