【问题标题】:No secret key when signing with git使用 git 签名时没有密钥
【发布时间】:2014-12-14 18:11:02
【问题描述】:

设置后

$ gpg --list-keys
/home/pablo/.config/gnupg/pubring.gpg
-------------------------------------
pub   rsa4096/46F257F2 2014-09-16 [expires: 2015-09-16]
uid       [ultimate] Pablo Olmos de Aguilera Corradini (Personal) <mail@tld.com>

并将信息放在 gitconfig 上:

[user]
    name = Pablo Olmos de Aguilera Corradini
    email = mail@tld.com
    signinkey = 46F257F2
[commit]
    gpgsign = true

我明白了:

gpg: skipped "Pablo Olmos de Aguilera Corradini <mail@tld.com>": No secret key
gpg: signing failed: No secret key
error: gpg failed to sign the data
fatal: failed to write commit object

如您所见,这些键确实存在(它们在运行gpg --list-secret-keys 时也会出现)。如果我从gitconfig 中删除所有内容,并尝试仅使用-S 执行此操作,我会收到相同的错误,这让我认为git 正在将我的用户名和电子邮件传递给gpg,并且uid 包括“评论”(Personal),所以没有找到:

$ gpg --list-keys "Pablo Olmos de Aguilera Corradini <mail@tld.com>"
gpg: error reading key: No public key

我不确定这是 git 的错误,还是预期的结果,我遗漏了一些东西 :)。

PS.- 我猜我可以创建另一个 uid没有评论,它应该可以工作。

【问题讨论】:

标签: git gnupg


【解决方案1】:

您的 gitconfig 中有错字。应该是 signingkey,而不是 signinkey

【讨论】:

  • 这就是您应该使用git config 而不是手动编辑.gitconfig 文件中的条目的原因之一。
  • 啊,这太愚蠢了。我实际上确实使用了git config,但似乎我在没有注意到的情况下手动进行了更改:C。当然,将您的答案标记为已接受。
猜你喜欢
  • 2021-06-22
  • 2016-05-08
  • 1970-01-01
  • 1970-01-01
  • 2016-11-18
  • 1970-01-01
  • 2012-01-24
  • 1970-01-01
  • 2021-12-20
相关资源
最近更新 更多