为什么使用Maven-GPG-Plugin使用GnuPG签署项目的工件?

时间:2016-03-02 22:14:14

标签: java maven gnupg

我有两个问题要问;

首先,我需要知道使用“GnuPG”签署java项目的工件的重要性。

我目前的情况是我正在考虑发布我的第一个公共java项目。我正在使用Maven来构建和管理项目,并遇到了“Maven-GPG-Plugin”。插件上的文档非常模糊,并没有描述 为什么 应该使用“GnuPG”签署工件。我没有GnuPG / Maven-GPG的经验,所以我想知道使用这个maven插件有什么好处?

我的第二个问题是如何在Eclipse的java项目中使用这个插件?

在我构建项目时,只需将以下内容添加到pom.xml我的项目中吗?

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-gpg-plugin</artifactId>
    <executions>
      <execution>
        <id>sign-artifacts</id>
        <phase>verify</phase>
        <goals>
          <goal>sign</goal>
        </goals>
      </execution>
    </executions>
  </plugin>
</plugins>
</build>

如果没有,我将如何在Eclipse中使用maven正确签署项目?

谢谢!

1 个答案:

答案 0 :(得分:2)

我没有实际使用GnuPG与Maven的经验(我从未发布过Maven插件),因此我会将答案限制在你问题的第一部分。

  

插件上的文档非常模糊,并没有描述为什么人们应该使用&#34; GnuPG&#34;来签署文物。我没有GnuPG / Maven-GPG的经验,所以我想知道使用这个maven插件有什么好处?

简单的哈希值,只能用于实现意外传输问题,如位翻转。与那些不同,GnuPG发布加密签名, 能够识别传输问题,但另外使您能够验证签名数据的作者。

如果没有加密签名,则无法知道您下载和执行的代码/程序是否实际上是您期望的代码/程序。丢失或未经验证的加密签名会一次又一次地导致后门下载Linux Mint had such an issue

加密签名并不意味着代码是正确的并且没有(安全)问题,但至少知道您拥有作者发布的相同代码,这大大降低了后门的可能性。