Maven验证下载的pom/jar文件的签名
我试图找到是否有支持SSL的中央存储库,但可能没有。我注意到maven中央存储库中的每个jar和pom文件都有签名。所以至少我想检查所有maven下载文件(pom/jar)的签名 示例来自: 我意识到我必须为每个存储库导入公钥,对此我没有意见。我猜maven central的公钥在这里 网上有很多关于如何与maven签约的教程。但是,我没有找到任何关于如何强制maven(2或3)验证下载的jar/pom文件签名的信息。可能吗 (Nexus Professional不是一个选项)Maven验证下载的pom/jar文件的签名,maven,ssl,signature,Maven,Ssl,Signature,我试图找到是否有支持SSL的中央存储库,但可能没有。我注意到maven中央存储库中的每个jar和pom文件都有签名。所以至少我想检查所有maven下载文件(pom/jar)的签名 示例来自: 我意识到我必须为每个存储库导入公钥,对此我没有意见。我猜maven central的公钥在这里 网上有很多关于如何与maven签约的教程。但是,我没有找到任何关于如何强制maven(2或3)验证下载的jar/pom文件签名的信息。可能吗 (Nexus Professional不是一个选项) 谢谢您的帮助。假
谢谢您的帮助。假设您只想下载带有有效校验和的工件,一个选项是运行OSS版本的Nexus,并将其配置为具有central代理。然后将settings.xml配置为仅从repo加载(settings.xml中的镜像标记)。然后,您可以将nexus配置为只允许具有有效校验和的工件。现在可以通过令牌支付对Central进行SSL访问。发件人: 我们使任何下载开放源代码组件的人都可以使用到Central的SSL连接,而不考虑存储库管理器 为了确保那些依赖SSL的人获得最高级别的性能,我们使用令牌保护服务。您只需提供一笔10美元的捐款就可以为您的组织获得代币,这笔捐款将捐赠给开源事业
您可以使用GnuPG编写bashshell脚本来验证每个sig吗 比如:
用于*.jar中的x;dogpg——验证“${x}”.asc;完成
显然,在开始之前,您需要所有SIG的公钥。现在,人们似乎意识到这是一个真正的安全问题(如中所述(博客似乎已关闭,这里是博客的一部分)),这里有一个。可以使用以下命令验证项目所有依赖项的签名:
mvn org.simplify4u.plugins:pgpverify-maven-plugin:check
当然,要100%确保插件本身不是恶意的,您必须从maven central下载并验证插件,使用maven构建插件,然后执行插件。(对于构建所需的所有依赖项和插件,这也应该递归地完成。)
或者使用Maven 3.2.3或更高版本(带有干净的存储库),它使用TLS下载所有人工制品。因此,中间人攻击是不可能的,你至少可以得到maven central上的人工制品
另见:
mvn org.simplify4u.plugins:pgpverify-maven-plugin:check