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