开始使用Eclipse(2018-12),并注意到当推送到GitHub时,我的所有提交都没有经过验证的签名。
有没有办法让Eclipse用我的公共GPG密钥签署我对GitHub的提交?
$ gpg version
gpg (GnuPG) 2.2.13
$ git --version
git version 2.20.1
更新3/22/2019 -
得到了2019-03(4.11.0)。让Eclipse签署经过验证的提交仍然不走运。我在Git Staging选项卡中看到了Sign Commit图标(锁定),并且在提交时看到以下对话框。
找不到用于签名的GPG密钥。使用提交者电子邮件地址配置GPG密钥,设置user.signingKey或禁用提交签名。
我能够在OSX Terminal中签署提交,并且Team> Git> Configuration的Eclipse配置首选项显示:
“用户设置”标签:
user:
name = [myname]
email = "[myname]@users.noreply.github.com"
signingkey = [mykey]
我在Eclipse中看不到的是可以输入的位置(在.gitconfig中):
commit:
gpgsign = true
答案 0 :(得分:1)
从Eclipse IDE 2019-03 (4.11)开始,该版本将于2019年3月20日发布,可以使用GPG密钥对Git提交进行签名。< / p>
在 Git Staging 视图中,有一个带锁的图标以启用签名:
如果在您的Git配置中将commit.gpgsign
设置为true
,则默认情况下按下按钮。因为EGit不会委派给命令行,而是使用JGit(Java中的Git实现),所以安装哪个版本的命令行Git或是否已安装都无关紧要。要访问密钥存储区,使用的是Bouncy Castle,这意味着Git配置中的gpg.program
被忽略。
在milestone 3 of the upcoming Eclipse release 2019-03中签名应该已经可以工作(在Windows上,已经修复了一个错误;请参见我的bug report for a workaround)。
答案 1 :(得分:0)
在您的Eclipse插件依赖项列表中检查JGit的版本:如果是5.3,那么应该可以。
后跟JGit issue 382212。
几周前,changeset 133402引入了GpgSigner的概念,它将签署提交。 GpgSigner将具有特定的实现方式(例如Bouncycastle或OpenPgP可执行文件)。
对于您正在使用的Eclipse版本来说,这可能太新了。