【问题标题】:Git uses wrong subkey for signing commits with GPG keyGit 使用错误的子密钥对带有 GPG 密钥的提交进行签名
【发布时间】:2018-01-12 16:30:00
【问题描述】:

我对 git 和使用 GPG 密钥签署提交有疑问。

我有一个主密钥(仅用于认证)。我为每台计算机创建了两个子密钥(仅用于签名)。我已将公钥添加到 Github,使用 user.signingKey 配置选项配置了 git。

问题是 git 似乎忽略了配置选项并一直使用最新的子键(列表中的最新子键 gpg --list-secret-keys EMAIL)。

我已经在两个环境中检查过,同样的问题。我正在使用以下 git 版本:git version 2.15.1

有什么线索吗?

【问题讨论】:

    标签: git gnupg


    【解决方案1】:

    要使用特定的子键,KEYID 必须附加!。所以配置应该如下所示:

    [user]
        name = Andrzej Ośmiałowski
        email = me@osmialowski.net
        signingKey = KEYID!
    

    非常感谢 Todd Zullinger 在 Git 邮件列表中提供解决方案。

    【讨论】:

    • 对我不起作用。 git 继续抱怨。但是普通的 gpg 签名效果很好。
    • 我找到了解决方案。问题是 git 使用 gpg 1.x 而不是使用我用来管理密钥的 gpg2。
    【解决方案2】:

    git commit man page 描述:

    -S[] --gpg-sign[=] GPG 签名提交。 keyid 参数是可选的,默认为提交者身份;如果指定,则必须将其粘贴到不带空格的选项上。

    总是在git commit 上指定签名密钥会有所帮助吗?`

    这可能是 git 套件的问题(您可以查看他们的问题跟踪器吗?

    编辑:也许this 值得一试。

    【讨论】:

    • 这肯定是错误的,因为用--gpg-sign=KEYID 指定keyid 也不起作用;
    猜你喜欢
    • 1970-01-01
    • 2022-12-16
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 2020-02-12
    • 1970-01-01
    • 2021-12-18
    • 2015-04-03
    相关资源
    最近更新 更多