问题:Git错误:gpg在Linux上签名数据失败

我在签署提交时遇到问题。使用以下 git 配置:

user.name=Bob
user.email=[bob's email]
user.signingkey=ABCDEFGH
user.user=bob1
gpg.program=gpg2

我被告知只包含密钥的前八个字符。

暂存后,在git commit -S -m "commit message"上,我收到以下错误:

error: gpg failed to sign the data
fatal: failed to write commit object

似乎大多数遇到此错误的用户都在 Mac 上,并且需要进行一些额外的设置。但我在 Kali Linux 上。

有什么建议吗?

解答

我被告知只包含密钥的前八个字符。

user.signingkey的值是一个 key id 标识生成签名时 git 应该使用哪个密钥。

官方文档](https://git-scm.com/book/en/v2/Git-Tools-Signing-Your-Work)中有一个完整的示例[显示了它应该如何工作。如果gpg --list-keys显示如下内容:

/Users/schacon/.gnupg/pubring.gpg
---------------------------------
pub   2048R/0A46826A 2014-06-04
uid                  Scott Chacon (Git signing key) <schacon@gmail.com>
sub   2048R/874529A9 2014-06-04

那么key id就是0A46826A:

git config --global user.signingkey 0A46826A
Logo

更多推荐