什么是签名提交?

时间:2017-04-26 01:44:27

标签: git git-sign

在Git中签署提交意味着什么?即使在has some caveats之后,我仍然对它的运作方式感到困惑。

如果签名提交,这是否意味着我们可以判断提交中的作者姓名和电子邮件是否准确?

1 个答案:

答案 0 :(得分:8)

从技术上讲,它仅仅意味着相应私钥的持有者签署了提交。在实践中,可以推断1)所述密钥的持有者是具有一些可验证信誉的人,2)该人声称代码的作者,以及3)代码自签署以来没有改变。我对GPG密钥持有者如何与他人建立自己的身份知之甚少,但这是一般的想法。

为什么要检查所有这些?如果相关软件对某些类型的安全性至关重要,攻击者可能会通过将损坏的软件替换为您认为自己获得的软件来危害您,例如:带有后门的东西,你不容易识别。毕竟,你想要一些代码,你点击"下载",然后你信任通过线路到达的是按钮上写的内容。但是,理想情况下,攻击者无法模仿真正作者的签名,因为他们不会拥有作者的私钥。而且他们不能只改变代码并单独保留签名,因为它涉及代码本身的散列。

请参阅维基百科上的Code Signing