【发布时间】:2018-07-04 16:46:30
【问题描述】:
Git 支持使用 GPG 对提交进行签名,GitHub 将这些提交显示为“已验证”。当您单击已验证标签时,您会看到类似以下内容:
此提交已使用经过验证的签名进行签名。
我的用户名
我的名字
GPG 密钥 ID:
F66DEF7BA82E8647
当您合并拉取请求时,或者假设您从 Web 界面中进行提交时,它也显示为已验证,但显示不同的消息:
此提交是在 GitHub.com 上创建的,并使用 GitHub 的密钥使用经过验证的签名进行签名。
GPG 密钥 ID:4AEE18F83AFDEB23
当我运行 git log --show-signature 时,它会显示我已在本地签名的提交,如下所示:
gpg: Signature made 01/25/18 11:52:25 W. Europe Standard Time^M
gpg: using RSA key 3FA85DEE7B64EB7EC8F97F41F66DEF7BA82E8647^M
gpg: Good signature from "Dude" <somebody@email.com>" [ultimate]^M
到目前为止,一切都很好。但是,当我遇到合并的拉取请求时,我会得到以下信息:
gpg: Signature made 01/25/18 09:07:45 W. Europe Standard Time^M
gpg: using RSA key 4AEE18F83AFDEB23^M
gpg: Can't check signature: No public key^M
显然这是因为我没有将公钥添加到我的 GPG 密钥列表中。问题是:我在哪里可以找到这把钥匙?它在某处列出吗?
编辑:显然我已经尝试过谷歌搜索,甚至在 GitHub 的社区论坛上提出了一个问题,但没有得到回答。
【问题讨论】:
-
Mods:我在另一个交易所的另一个问题中找到了答案:security.stackexchange.com/questions/173493/…。不幸的是,SO不会让我结束这个问题,因为“它只能是另一个问题的副本”。