【发布时间】: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 也没有帮助我。
【问题讨论】: