security - Nexus Pro 如何自动验证下载 Artifact 的真实性?

标签 security maven build nexus pgp

我对 Maven 中央存储库的安全性做了一些研究,特别是交叉构建注入(inject)攻击(XBI)。我阅读了一些链接,如下所示:

http://www.sonatype.com/people/2010/01/how-to-generate-pgp-signatures-with-maven/

http://maven.apache.org/guides/mini/guide-central-repository-upload.html

Verification of dependency authenticy in Maven POM based automated build systems

以下是我理解的要点

  1. 所有上传到中央存储库都需要对 Artifact 进行签名 由开源发布管理器拥有的 PGP 私钥 项目。
  2. 公钥应提交给 key 服务器,例如 作为 MIT key 服务器
  3. 手动验证下载的 Artifact 很麻烦。
  4. 存储库管理器(例如 Nexus Pro)提供自动验证下载项目签名的功能。

但是,Nexus Pro 是如何进行自动验证的呢? Nexus 是否维护 Maven Central 托管的所有开源项目的 PGP keyid 存储库? sonatype是否验证并签署开源项目上传到 key 服务器的PGP公钥?有谁知道内部原理吗?

最佳答案

所有 GPG key 都在公钥服务器上可用,并且 Nexus 会根据每个下载组件的 key 进行验证。每次上传到 Central 都需要一个已知的、注册的和批准的 key 。

有关该过程的更多详细信息,请访问 https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide

关于security - Nexus Pro 如何自动验证下载 Artifact 的真实性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15010743/

相关文章:

python - 安全与脚本

java - Maven 加密密码 ArrayIndexOutOfBoundsException

java - 使用 Maven 重新编译依赖项 - 可能吗?任何性能提升?

grails - 自定义 Grails 环境?

security - 域与 SameSite 严格的 cookie 之间的安全差异是什么?

security - 需要建议来设计 'crack-proof' 软件

c++ - CMake 如何检查构建目标

android - Gradle 不会安装 Unresolved 依赖项

jquery - ColdFusion 和移动应用程序结构和安全性

Maven 使用 JAX-WS 2.1 而不是 JAX-WS 2.2