首页 > 解决方案 > 在 Maven 中央存储库上验证提供实体

问题描述

有什么方法可以让我们自己看到提供对 Maven 中央存储库的依赖的实体?

例如,如果我们在 Maven 中央存储库(参见此处)上查找javax.xml.bind依赖项,我不清楚是谁提供了这些不同的工件。我认为作为一个javax包,其中一个应该由 Oracle 提供?

我可以看到这是Sonatype 为制作人提供的一些指南(参见此处)。这表明 Sonatype 确保域归实体所有,或者实体是相关组 ID 的“指定维护者”。有什么方法可以查看 Sonatype 为每个组 ID 分配了哪些实体?

编辑:阅读罗伯特的评论和这篇文章后,我能够更好地理解 Maven 中央存储库如何使用 PGP 来实现这一目标。我通过将 .asc 添加到依赖项 URL 的末尾来下载 .asc 文件。

https://repo1.maven.org/maven2/javax/xml/bind/jaxb-api/2.3.0/jaxb-api-2.3.0.jar.asc

然后我可以运行此命令并获得以下输出:

gpg --auto-key-locate keyserver --keyserver hkps://keyserver.ubuntu.com --keyserver-options auto-key-retrieve --verify jaxb-api-2.3.0.jar.asc jaxb-api-2.3 .0.jar

gpg:签名于 2017 年 7 月 31 日星期一晚上 9:27:23 AUSEST gpg:使用 RSA 密钥 3575E1C767076CA8 gpg:来自“Oracle TopLink Dev Team topdev_cz@oracle.com”的良好签名 [未知] gpg:警告:此密钥不是通过可信签名认证!gpg:没有迹象表明签名属于所有者。

虽然这并不能保证“Oracle TopLink 开发团队”是他们声称的实体(这是 PGP“信任网络”进入其中的地方),但我至少确定我有一个由一个实体提供的文件使用该 ID 签名并且文件自签名后未更改。

标签: javamavensecuritydependencies

解决方案


推荐阅读