我正在使用maven-gpg-plugin为maven工件签名。这个插件能够正常运行,但是我的GnuPG密钥环中有多个密钥,我希望能选择一个不同于GnuPG默认选择的密钥。
如果有多个密钥,GnuPG如何选择“默认”密钥?
在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.
<keyname>[keyname]</keyname>
选择要使用的密钥。我认为这将作为local-key
选项传递,因此它应该支持短密钥ID、长密钥ID、指纹和用户ID。GnuPG手册包含指定密钥的方法列表。大多数描述如何在此处指定密钥的手册使用短密钥ID,但我强烈建议不要这样做因为存在碰撞攻击的风险,而是使用整个指纹。
有进一步的选项来更改密钥的选择。请参考Maven GnuPG插件手册以获取有关各个选项的更多详细信息:
secretKeyring
选择专用密钥环homedir
选择专用GnuPG主目录gpgArguments
向GnuPG传递local-user
选项
gpgArguments
,方法请参考https://dev59.com/Rmkw5IYBdhLWcg3w1d4m。 - Aleksandr M