如何选择maven-gpg-plugin用于签署工件的GnuPG密钥?

我正在使用maven-gpg-plugin来签署maven工件。 这工作正常,但我的GnuPG密钥环中有几个键,并且想要使用与GnuPG选择的不同的键。

  1. 如果有几个键,GnuPG如何选择“默认”键?

  2. 是否有可能指定maven-gpg-plugin配置中使用的密钥? 似乎keyname不起作用(我假设它选择了密钥环,但不是特定的密钥)。

如果有多个密钥,GPG如何选择“默认”密钥?

默认情况下,GnuPG会选择密钥密钥环中的第一个密钥(如果没有另外定义)(例如,使用default-key选项)。 来自man gpg

 --default-key name Use name as the default key to sign with. If this option is not used, the default key is the first key found in the secret keyring. Note that -u or --local-user overrides this option. 

是否有可能指定maven-gpg-plugin配置中使用的密钥? 似乎“keyname”不起作用(我假设它选择了密钥环,但不是特定的密钥)。

如果您不希望GnuPG自动决定使用哪个密钥, [keyname]选择要使用的密钥。 我希望它作为local-key选项传递,因此它应该支持短和长密钥ID,指纹和用户ID。 GnuPG手册包含指定密钥的方法列表 。

大多数描述如何在此处指定密钥的手册都使用短密钥ID,我强烈建议不要因为碰撞攻击而使用短密钥ID,而是使用整个指纹。

还有其他选项可以更改键的选择。 有关各个选项的更多详细信息,请参阅Maven GnuPG插件手册 :

  • 使用secretKeyring选择专用密钥环
  • 使用homedir选择专用的GnuPG主目录
  • 使用gpgArgumentslocal-user选项传递给GnuPG