我的主PGP密钥上有多个签名子密钥,因此我有一台用于我的笔记本电脑,一台用于我的桌面。但是,似乎两台计算机都试图使用我的笔记本电脑的密钥,这是我最近创建的,而不是我桌面的密钥。我将user.signingkey设置为我的笔记本电脑和台式机上的相应子键,但是git仍然使用我的笔记本电脑。
答案 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上提供了解决方案。