|
|
1
4
更新: 下面提到的校验和实际上只用于完整性检查,并且确实与工件一起存储,因此它们不会回答问题。 实际上,需要使用pgp对工件进行签名,以便将它们上载到与中心同步的存储库(即 Maven GPG Plugin 有助于此步骤)。若要在下载时验证签名,请使用支持此功能的存储库管理器。从 How to Generate PGP Signatures with Maven :
也见
Maven存储库管理员也可以/应该能够处理它们。例如,请参见: |
|
|
2
5
DR : Maven中不存在的验证机制和POM的DSL中缺少的语言结构是严重的安全威胁。直到 MNG-6026 地址,使用 Gradle Witness . 介绍到目前为止提供的所有答案似乎都不能解决这个问题。 签名工件只是第一步 朝着正确的方向。但是,用于签名工件的密钥被认为是可信/有效的条件是非常不透明的。例如:如何 pgpverify-maven-plugin 或 Nexus Professional 实际验证签名对工件有效吗?仅仅从keyserver检索密钥并验证工件是不够的。 索纳泰克在他们的 blog post :
(强调矿山) 使用信任信息扩展项目对象模型(POM)我们需要的是能够从您的项目或工件到声明的依赖项建立信任关系模型。因此,如果所有相关方都声明了这种关系,我们就能够从依赖项的根(例如项目)到最后一个可传递依赖项创建一个“信任链”。这个 Project Object Model (POM) 需要通过依赖项的<验证/>元素进行扩展。 现状现在我们有
硬依赖项对于硬依赖项,<verification/>可能包括工件的sha256sum及其pom文件:
软依赖项如果使用软依赖或范围依赖,那么我们可以指定用于对工件进行签名的密钥对的公钥(或多个)。
现在呢?多亏了 peter 触发了我,我为ApacheMaven提出了一个特性请求: MNG-6026 . 让我们看看接下来会发生什么。 其他方法年级证人 对Gradle做类似的事情。但它也有一些缺点:
这似乎同样适用于 Maven Enforcer Plugin .
pgpverify-maven-plugin
表面上也遵循这种方法。虽然缺少文档,但
test for a so called
|
|
3
0
“可以通过引入加密签名验证f_¼r依赖项来缓解此问题,因为它目前已与许多用于下载软件包的操作系统结合在一起。” 您要签名的JAR文件。 http://download-llnw.oracle.com/javase/1.3/docs/tooldocs/win32/jarsigner.html 您需要用适当的措施保护您的私钥。但是,如果你对这样的镇定妄想,你可能需要考虑一下公钥基础设施PKI。 |
|
|
4
0
现在可以使用此插件验证Maven中的PGP签名: http://www.simplify4u.org/pgpverify-maven-plugin/index.html
以下是如何在父级中配置它
此配置将PGP检查绑定到
如果不想一直运行检查,请删除
|
|
|
Ewgenij Sokolovski · 插件配置部分中插件的插件管理 7 年前 |
|
|
Richard · Flyway Java回调 7 年前 |
|
|
Jimy Weiss · maven找不到包atlassian 7 年前 |
|
|
Sudhir · 我们如何在同一pom中构建和引用bom 7 年前 |