当前位置: 首页 > 知识库问答 >
问题:

git错误:gpg在Linux数据签名失败

冯和硕
2023-03-14

我有麻烦签署提交。使用以下git配置:

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

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

分阶段后,在git提交-S-m提交消息,我收到以下错误:

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

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

有什么建议吗?

共有2个答案

孟翰藻
2023-03-14

对于那些遵循答案但无法使其生效的人。您可能尝试过其他解决方案,但意外地做到了这一点(适用于MacOSX,而不是Linux)

git config——全局gpg。程序=gpg2

只有在使用MacOSX时才应该这样做。对于Linux,您可以通过unset-通过运行此命令首先取消设置该条目来修复它(因为您的系统使用gpg而不是gpg2)。

git配置--global--unsetgpg.program

现在,您可以按照本页中接受的答案告诉Git使用您的密钥。

拓拔辰钊
2023-03-14

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

user的值。signingkey是一个密钥id,用于标识git在生成签名时应使用的密钥。

官方文档中有一个完整的例子,说明了这应该如何工作。如果gpg--list key显示如下内容:

/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

然后密钥id为0A46826A

git config --global user.signingkey 0A46826A
 类似资料:
  • 我从brew安装了GPG。 它是gnupg2-2.0。30_2。 当我提交时,确实会收到一条错误消息: 我使用命令: 它给了我: 然后我使用了这个命令: 提交会返回相同的错误消息。 我怎样才能解决这个问题?

  • 2048位RSA密钥,ID AAAAAAA,创建于2016-07-01 错误:gpg无法对数据签名致命:无法写入提交对象 注意-我仍然可以使用提交更改

  • GPG 无法签名数据 如果当你在对 tag 或者 commit 签名时遇到以下提示: error: gpg failed to sign the data error: unable to sign the tag 首先,物理插拔一下 Yubikey 并确保安全卡状态可以被正确的列出: ❯ gpg --card-status 如果你看到: PIN retry counter : 0 0 3 这意味

  • 我有一个全新的Linux Mint14安装。已安装Thunderbird&Enigmail。 我试着删除我的密钥并重新移植它。我试着改变各种设置。但我想不出问题出在哪里。我以前使用过Linux/Thunderbird/Enigmail,从来没有出现过这个错误。

  • 正在签署的摘要到底是什么?如果签名嵌入到提交对象中,那么它很难是提交哈希本身-那么它是树哈希吗?还是别的什么?这是否意味着提交消息没有签名并且可能被篡改? 注意:我在这里使用一个用--object-type sha256初始化的git存储库来使用基于SHA-256的哈希值(默认情况下git使用SHA-1),但我的问题也适用于带有SHA-1哈希值的git存储库(以防gpg签名对SHA-1和SHA-2