有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为什么要使用MavenGPGPlugin用GnuPG签署项目的工件?

我有两个问题要问

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

我目前的情况是,我正在考虑发布我的第一个公共java项目。我正在使用Maven来构建和管理这个项目,遇到了“Maven GPG插件”。关于插件的文档非常模糊,没有描述为什么人们应该用“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) 个答案

  1. # 1 楼答案

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

    The documentation on the plugin is extremely vague and does not describe why one should sign artifacts with "GnuPG". I have no experience with GnuPG/Maven-GPG, so I am wondering what the benefit is of using this maven plugin?

    简单的散列和只能用于实现意外传输问题,如位翻转。与这些不同,GnuPG发布加密签名,能够识别传输问题,但还可以验证签名数据的作者

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

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