【问题标题】:Unverified commits in GitLab when using gpg with subkeys使用带有子键的 gpg 时 GitLab 中未验证的提交
【发布时间】:2020-10-12 11:05:25
【问题描述】:

我一直在测试 GitLab 和 GnuPG 以将我的签名添加到提交中。我相信我遵循了有关如何使用公钥设置 GitLab 和在家中设置存储库以使用私钥签署提交的手册。唯一的区别是我使用单独的子密钥进行签名和加密。 GitLab 正确识别所有公共子密钥并将证书显示为已验证。在家里,我已将签名子密钥的正确 ID 分配给 user.signingkey 并尝试显式选项 -S<subkey-id>

不幸的是,每次我推送签名提交时,它们仍然显示为“未验证”。我在每次提交时检查了签名密钥的 ID,在 GitLab 和 GPG 证书中,子密钥 ID 似乎正确并且电子邮件地址也匹配。 GitLab 中使用的电子邮件地址已经过验证。我尝试user.name 获取 GitLab 凭据,但也无济于事。我想知道 GitLab 还能识别什么。

我发现关于这个问题的信息很少。通常,其他人会按照网站上的程序创建默认 GPG 证书而无需额外的子密钥,并且 Unverified 提交很可能是由于电子邮件地址之间的不匹配而出现的。我还阅读了this answer,它解释了如何将子键合并为一个键。但是,GitLab 应该无需任何额外准备即可使用子键。 another answer 也没有帮助我。

【问题讨论】:

    标签: gitlab gnupg


    【解决方案1】:

    我在从第二台 PC 导入 GPG 密钥后遇到了这个问题,因此导入的密钥在我的第二台系统上受信任。

    运行gpg --list-keys 并检查您与电子邮件的行是否具有[ultimate] 状态。

    如果不是,则将信任设置为--edit-key

    gpg --edit-key name@domain.tld
    trust
    5
    yes
    save
    

    【讨论】:

      猜你喜欢
      • 2022-12-16
      • 1970-01-01
      • 1970-01-01
      • 2016-10-22
      • 1970-01-01
      • 2021-08-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多