【发布时间】:2015-08-19 00:37:47
【问题描述】:
Sonatype 要求(非 SNAPSHOT 版本)工件进行 GPG 签名;应将公共 OpenPGP 密钥上传到 (MIT) 密钥服务器。
但是任何人都可以创建任何具有任何名称的 OpenPGP 密钥和电子邮件,并将它们上传到密钥服务器。 (据我所知;或者我错了吗?)没有将特定软件项目/库与特定公钥相关联的自动机制。当然,如果有人想检查工件的真实性,可以随时向软件作者索取公钥,或者密钥可能已经在某个地方发布(以将其与特定软件项目相关联的方式);但由于这不能自动完成,几乎没有人这样做。
因此,似乎整个 OpenPGP 签名过程,同样由于技术性和耗时性,更多地灌输了一种虚假的安全感,而不是实际上为普通用户提供了很多安全性。
难道不应该有一种自动/简化的方式将软件项目与 OpenPGP 密钥相关联,以使整个事情真正安全吗?
【问题讨论】:
-
签署工件只是第一步。缺少的是 Maven 依赖项定义还包括有关如何验证依赖项的工件的信息。用于签署工件的散列或预期的 OpenPGP 密钥。另见stackoverflow.com/a/34795359/194894 和MNG-6026。