将 gpg 与子项一起使用时,GitLab 中的未验证提交

Cel*_*dor 6 gnupg gitlab

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

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

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

Kar*_*are 1

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

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

如果没有,则设置信任--edit-key

gpg --edit-key name@domain.tld
trust
5
yes
save
Run Code Online (Sandbox Code Playgroud)