我有麻烦签署提交。使用以下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。
有什么建议吗?
对于那些遵循答案但无法使其生效的人。您可能尝试过其他解决方案,但意外地做到了这一点(适用于MacOSX,而不是Linux)
git config——全局gpg。程序=gpg2
只有在使用MacOSX时才应该这样做。对于Linux,您可以通过unset
-通过运行此命令首先取消设置该条目来修复它(因为您的系统使用gpg
而不是gpg2
)。
git配置--global--unsetgpg.program
现在,您可以按照本页中接受的答案告诉Git使用您的密钥。
我被告知只包含密钥的前八个字符。
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