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

Car*_*ses 6 eclipse macos github gnupg

开始使用 Eclipse (2018-12) 并注意到我的所有提交在推送到 GitHub 时都没有经过验证的签名。

有没有办法让 Eclipse 使用我的公共 GPG 密钥签署我对 GitHub 的提交?

$ gpg version
gpg (GnuPG) 2.2.13
Run Code Online (Sandbox Code Playgroud)
$ git --version
git version 2.20.1
Run Code Online (Sandbox Code Playgroud)


2019 年 3 月 22 日更新-获得 2019-03 (4.11.0)。让 Eclipse 签署经过验证的提交仍然没有运气。我在 Git Staging 选项卡中看到 Sign Commit 图标(锁定),并且在提交时出现以下对话框。

无法找到用于签名的 GPG 密钥。使用提交者电子邮件地址配置 GPG 密钥,设置 user.signingKey 或禁用提交签名。

我能够在 OSX 终端中签署提交,并且我的 Team>Git>Configuration Eclipse 配置首选项显示:

用户设置选项卡:

 user:
    name = [myname]
    email = "[myname]@users.noreply.github.com"
    signingkey = [mykey]
Run Code Online (Sandbox Code Playgroud)

我在 Eclipse 中没有看到的是一个输入的地方(在 .gitconfig 中):

commit:
    gpgsign = true
Run Code Online (Sandbox Code Playgroud)

how*_*ger 5

将于 2019 年 3 月 20 日发布的 Eclipse IDE 2019-03 (4.11) 开始,可以使用 GPG 密钥对 Git 提交进行签名

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

在此处输入图片说明

如果在您的 Git 配置commit.gpgsign中设置为true,则默认情况下按下该按钮。由于 EGit 不委托给命令行,而是使用 JGit(这是 Java 中的 Git 实现),因此安装了哪个版本的命令行 Git 或者是否安装了它都无关紧要。使用 Bouncy Castle 访问密钥存储,这意味着gpg.program在 Git 配置中被忽略。

即将发布的 Eclipse 版本 2019-03 的里程碑 3 中,签名应该已经可以工作(在 Windows 上有一个已经修复的错误;请参阅我的错误报告以获取解决方法)。


Von*_*onC 0

检查 Eclipse 插件依赖列表中 JGit 的版本:如果是 5.3,那么是的,应该可以。

接下来是JGit 问题 382212
几周前,变更集 133402引入了 GpgSigner 的概念,它将对提交进行签名。GpgSigner 将具有特定的实现(例如,Bouncycastle 或 OpenPgP 可执行文件)。

不过,对于您正在使用的 Eclipse 版本来说,这可能太新了。