选择maven-gpg-plugin中使用的GnuPG密钥

时间:2017-12-12 15:27:00

标签: java maven gnupg

我已经看过How to select the GnuPG key that the maven-gpg-plugin uses to sign artifacts?以及更多问题,但我仍然无法使这个maven插件正常工作。

我用gpg创建了2个键,现在我可以看到它们:

$ gpg --list-secret-keys --keyid-format LONG
-----------------------------
sec   rsa2048/835CAF6D1B0569EB 2017-12-12 [SC]
uid                 [ultimate] User 1 <email1@gmail.com>
ssb   rsa2048/7604C74FE62682EF 2017-12-12 [E]

sec   rsa2048/1330DF9E7C6D864E 2017-12-12 [SC]
uid                 [ultimate] User 2 <email2@gmail.com>
ssb   rsa2048/09982A57EC4B5F18 2017-12-12 [E]

我的pom.xml配置如下:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-gpg-plugin</artifactId>
  <version>1.6</version>
  <executions>
    <execution>
      <id>sign-artifacts</id>
      <phase>verify</phase>
      <goals>
        <goal>sign</goal>
      </goals>
      <configuration>
        <keyname>1330DF9E7C6D864E</keyname>
        <passphrase>supersecurepassword</passphrase>
      </configuration>
    </execution>
  </executions>
</plugin>

但当我做“mvn package gpg:sign”时,它总是使用密钥835CAF6D1B0569EB 站在https://maven.apache.org/plugins/maven-gpg-plugin/sign-mojo.html,键名应发送给gpg -u / - local-user,但它似乎不起作用。 我也试过使用“gpgArguments”和“ - default-key”,我试过“0x1330DF9E7C6D864E”和“0x1330DF9E7C6D864E!” (站在文档中应该强制关键)。 怎么了?

由于

2 个答案:

答案 0 :(得分:1)

添加gpg前缀。

<gpg.keyname>1330DF9E7C6D864E</gpg.keyname>
<gpg.passphrase>supersecurepassword</gpg.passphrase>

答案 1 :(得分:0)

您是否尝试仅使用签名密钥的最后 8 个字符 (7C6D864E)?还试图附加到开头 0x (0x7C6D864E)?

另外,尝试检查签名密钥

gpg --list-signatures --keyid-format 0xshort

gpg --list-signatures --keyid-format 0xlong

gpg --list-signatures

gpg --list-signatures --keyid-format short