mercurial cloned data inegrity

时间:2015-12-04 21:25:42

标签: mercurial openjdk

我将openJDK源代码克隆到我的本地仓库,我希望确保在传输过程中保持文件完整性。

hg clone http://hg.openjdk.java.net/jdk8/jdk8/

Mercurial常见问题解答说,根据他们的哈希值检查revlog,"但仅凭这一点还不足以确保某人没有篡改存储库。为此,您需要加密签名。"这是否意味着我需要使用 像这样的SSH?

hg clone ssh://hg.openjdk.java.net/jdk8/jdk8/

要获得SSH访问权限,我是否必须注册为项目的贡献者?如果是这样,有没有办法获得经过验证的克隆而不成为贡献者?

1 个答案:

答案 0 :(得分:1)

SSH提供传输加密。它确保数据不会在从OpenJDK存储库传输到您的计算机的过程中。

Mercurial常见问题解答讨论signing the commits,确保您以后可以验证这些提交未单独篡改。这意味着攻击者不能闯入OpenJDK服务器或伪造上游接受提交,添加项目并不意味着存在的修订。您将能够识别此类修订,因为它们缺少正确的签名或根本没有签名。

SSH不会保护您免受此类问题的影响,因为SSH并不关心它传输的数据。恶意(更改或添加)提交的转移与有效修订一样安全。

签名提交不是您作为存储库的使用者可以稍后添加的内容。 OpenJDK项目必须从一开始就签署他们的提交程序。