从我正在阅读的内容来看,最佳实践是使用图书馆作者的公钥验证从 Central 获得的工件的真实性,以防止中间人攻击和类似的事情。这听起来像是一个繁琐的过程,似乎其他社区(例如带有 rubygems 存储库的 ruby)在访问存储库时通过使用 https 解决了这个问题。
如果 Maven 中央存储库使用 https,那会消除验证工件的需要吗?如果是这样,为什么 Central 不使用 https?
从我正在阅读的内容来看,最佳实践是使用图书馆作者的公钥验证从 Central 获得的工件的真实性,以防止中间人攻击和类似的事情。这听起来像是一个繁琐的过程,似乎其他社区(例如带有 rubygems 存储库的 ruby)在访问存储库时通过使用 https 解决了这个问题。
如果 Maven 中央存储库使用 https,那会消除验证工件的需要吗?如果是这样,为什么 Central 不使用 https?
https 连接可确保您连接到真正的 Central,但它不会告诉您有关工件最初来自何处的任何信息。这些工件由大量开发人员上传。如果其中任何人的密码被盗,最终可能会上传恶意工件。PGP 提供了两个额外的品质:首先,窃取 PGP 密钥比窃取密码更难。其次,如果出现安全漏洞,可以撤销 PGP 密钥。
当然,您不是直接访问 Central - 您是通过本地代理访问的。使用 PGP 意味着您不需要信任该代理,您可以自己验证 PGP 签名。
顺便说一句,为了深度安全,可以使用SSL 访问 Central ,只需支付少量代币即可:https ://blog.sonatype.com/people/2012/10/now-available-ssl-connectivity-to-central/ .