在git中签名提交使用了错误的子键

时间:2017-09-20 19:47:05

标签: git gnupg signing pgp

我的主PGP密钥上有多个签名子密钥,因此我有一台用于我的笔记本电脑,一台用于我的桌面。但是,似乎两台计算机都试图使用我的笔记本电脑的密钥,这是我最近创建的,而不是我桌面的密钥。我将user.signingkey设置为我的笔记本电脑和台式机上的相应子键,但是git仍然使用我的笔记本电脑。

2 个答案:

答案 0 :(得分:2)

仔细检查您是否正在设置全局git配置而不是repo配置,并检查您是否提供签名密钥而不是加密密钥。

此外,git verify-commit HEAD的输出将显示主密钥的keyid,而不是可能具有误导性的子密钥。要验证提交是否由子项签名,请在使用git verify-commit HEAD检查签名之前和之后创建测试签名子项并使用它和revoke the subkey签署提交。

显示机器上按键的密钥ID并复制所需的ID:

gpg --list-secret-keys --keyid-format LONG

设置您的git配置以使用指定的密钥:

git config --global user.signingkey A451BEC123

答案 1 :(得分:1)

解决方案:KEYID必须附加才能使用特定的子项。

例如

git config --global user.signingkey A451BEC123\!

非常感谢 Todd Zullinger Git mailing list上提供了解决方案。

Additional info