为什么要签署Git标签?
Git提供了使用GPG私钥对带注释的标记进行签名的选项,但是仅仅接受标记的声明来源有什么错呢?当一个伪造的标记不改变提交时,它会造成什么损害 仅仅接受标签声称的来源有什么不对 如果你不能保证它是正确的,你就必须信任每一个有权获得回购协议的人(无论授权与否),不要虚假地创建标签。签名保证(至少是GPG能提供的)创建标签的人就是你认为的那个人 当一个伪造的标记不改变提交时,它会造成什么损害为什么要签署Git标签?,git,security,gnupg,git-tag,Git,Security,Gnupg,Git Tag,Git提供了使用GPG私钥对带注释的标记进行签名的选项,但是仅仅接受标记的声明来源有什么错呢?当一个伪造的标记不改变提交时,它会造成什么损害 仅仅接受标签声称的来源有什么不对 如果你不能保证它是正确的,你就必须信任每一个有权获得回购协议的人(无论授权与否),不要虚假地创建标签。签名保证(至少是GPG能提供的)创建标签的人就是你认为的那个人 当一个伪造的标记不改变提交时,它会造成什么损害 没有。你似乎把两个不同的想法搞混了。标记和提交是完全独立的对象—标记指向提交,但标记不是提交。因此,标记永远不
没有。你似乎把两个不同的想法搞混了。标记和提交是完全独立的对象—标记指向提交,但标记不是提交。因此,标记永远不会改变提交。这可能是更危险的地方:伪造的标记不会意外地更改提交历史记录,并且更容易被忽略。我认为有趣的一点实际上是:既然提交没有签名,那么签名标记有什么意义?我们可以验证标记者是谁,但我们无法验证提交者,那有什么意义呢?@stacy你似乎试图声称我们不应该签署标记,因为我们不能签署提交,这没有多大意义。为什么仅仅因为某个功能在其他地方不存在就删除它。不管怎样,我们假设签名的标记是一位权威人士,他在提交时检查了代码的状态,并保证代码的可靠性。@slacy,更重要的是,签名的标记指向代码库的特定不可变版本。提交没有签名,但提交哈希本身是加密安全的。如果您写下提交哈希的40个十六进制数字,或者能够完全记住它们,那么您将永远不需要标记(有符号或无符号)。这是否回答了您的问题?