我在哪里可以找到GitHub.com提交的公钥?

时间:2018-01-25 12:23:10

标签: github gnupg

Git支持使用GPG签署提交,GitHub将这些提交显示为“已验证”。当您点击已验证的标记时,您会看到如下内容:

  

此提交已使用经过验证的签名进行签名。

     

我的用户名

     

我的名字

     

GPG密钥ID:F66DEF7BA82E8647

合并拉取请求时,或者,当您在Web界面中进行提交时,它也显示为已验证,但使用不同的消息:

  

此提交是在GitHub.com上创建的,并使用Gi​​tHub密钥以经过验证的签名进行签名。

     

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的社区论坛上提问,但是没有得到答案。

2 个答案:

答案 0 :(得分:0)

根据GPG的性质,您要确定要导入的密钥以及要签名的密钥。您可以在此处找到GitHub的Web流GPG公钥:

https://github.com/web-flow.gpg

如果要导入公共密钥,可以使用以下命令进行导入:

curl https://github.com/web-flow.gpg | gpg --import

作为GPG的用户,您应该评估您对该密钥源的信任程度。如果您确定它确实确实属于GitHub,则可以对其进行签名,还可以选择将您的签名发布到密钥服务器,实质上是公开承认您认为该密钥属于它应该属于的人。

答案 1 :(得分:-1)

GitHub有关于如何查找现有密钥,创建新密钥,将它们添加到git,GitHub等的文档。您可以找到here,我认为它可以回答您在此处遇到的任何问题。

来自:https://help.github.com/articles/about-gpg/

GitHub将使用GitHub Web界面自动签署您的提交。这些提交将在GitHub上具有经过验证的状态。您可以使用https://github.com/web-flow.gpg

中提供的公钥在本地验证签名