gpt4 book ai didi

Maven 验证下载的 pom/jar 文件的签名

转载 作者:太空宇宙 更新时间:2023-11-03 12:37:37 26 4
gpt4 key购买 nike

我试图找出是否有启用 SSL 的中央存储库,但可能没有。我注意到 Maven 中央存储库中的每个 jar 和 pom 文件都有签名。所以至少我想检查所有 Maven 下载文件 (pom/jar) 的签名。

例子来自 http://repo1.maven.org/maven2/org/apache/ant/ant/1.8.2/ :

ant-1.8.2.jar
ant-1.8.2.jar.asc
ant-1.8.2.jar.asc.md5
ant-1.8.2.jar.asc.sha1
ant-1.8.2.jar.md5
ant-1.8.2.jar.sha1
ant-1.8.2.pom
ant-1.8.2.pom.asc
ant-1.8.2.pom.asc.md5
ant-1.8.2.pom.asc.sha1
ant-1.8.2.pom.md5
ant-1.8.2.pom.sha1

我意识到我必须为每个存储库导入公钥,我对此没有意见。我猜 Maven Central 的公钥在这里 https://svn.apache.org/repos/asf/maven/project/KEYS .

网上有很多关于如何使用 maven 签名的教程。但是我没有找到任何关于如何强制 maven(2 或 3)验证下载的 jar/pom 文件签名的信息。可能吗?

(Nexus Professional 不是一个选项)

谢谢你的帮助。

最佳答案

现在,人们似乎意识到这是一个真正的安全问题(如this blog-post中所述(博客似乎已关闭,这是博客的archived version)),有一个plugin for verifying PGP signatures .您可以使用以下命令验证项目所有依赖项的签名:

mvn org.simplify4u.plugins:pgpverify-maven-plugin:check

当然,要 100% 确定插件本身不是恶意的,您必须下载并验证 source for the plugin从 Maven Central,用 Maven 构建它,然后执行它。 (这也应该递归地对构建所需的所有依赖项和插件完成。)

或者您使用 Maven 3.2.3 或更高版本(带有干净的存储库),它使用 TLS 下载所有 Artifact 。因此,中间人攻击是不可能的,您至少会得到在 Maven Central 上的人工制品。

另见:

关于Maven 验证下载的 pom/jar 文件的签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6565084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com