使用Eclipse(MacOS)将已验证的提交签名到GitHub(GPG)

时间:2019-03-08 03:10:02

标签: eclipse macos github gnupg

开始使用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

2 个答案:

答案 0 :(得分:1)

从Eclipse IDE 2019-03 (4.11)开始,该版本将于2019年3月20日发布,可以使用GPG密钥对Git提交进行签名。< / p>

Git Staging 视图中,有一个带锁的图标以启用签名:

enter image description here

如果在您的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版本来说,这可能太新了。