我经常使用 Windows 和 Linux 环境,并将更改提交到远程存储库,并使用 GPG 密钥对提交进行签名。
Codeberg 有很好的文档,介绍如何生成 GPG 密钥对并将其添加到您的帐户,这很有帮助。好处是 Codeberg 要求您使用声明来验证密钥。这为您的密钥增加了额外的安全性,因为您知道您也可以完全控制私钥。
echo "lte2154vxwq1b4mny3o65aj4ezxbp1jz1ymkw05c36m7n0qpzoptualxohql35zx" ` | gpg -a --default-key 1UTY54Q9MI708D58 --detach-sig
然后,您将获取PGP SIGNATURE
并将其输入到输入框中,并使用返回的签名确认密钥。这似乎在 Windows 中不起作用,并且您反复收到错误The provided GPG key, signature and token do not match or token is out-of-date
。
这很令人沮丧,因为它无法在 Windows 命令行上运行。如果您在 Linux 操作系统上使用相同的命令,您最终可以验证 GPG 密钥。
然而,我确实找到了一个使用 Kleopatra 的解决方案,它确实有效。
使用 Kleopatra 进行验证
- 从 Codeberg 复制您的令牌。引号中的文本
lte2154vxwq...n0qpzoptualxohql35zx
- 然后打开克利奥帕特拉
- 转到菜单栏
- 工具 > 剪贴板 > OpenPGP-Sign
- 如果需要,选择您的 GPG 密钥 > 下一步
- 然后,您将在剪贴板中收到令牌(消息)和签名。
在 Codeberg 中的验证签名字段中,您只需在SIGNATURE
块中添加文本
-----BEGIN PGP SIGNATURE----- kjasdlfkjkfljasdlfkjaiaiusdfnaisunfaiufnawiuefnu asudfnasudfnasuidfnaiufnwefoinaweofinawefonwaefo -----END PGP SIGNATURE-----
签名完成并将消息添加回 Codeberg 后,它将成功将新的或更新的 GPG 公钥添加到您的帐户。
结论
从一些研究来看,这似乎是 Windows 特定的问题,使用gpg
从命令行签署令牌。这在 Linux 操作系统上确实可以按预期工作,并且您还需要在 Linux 计算机上导入 GPG 私钥和公钥才能继续。
另外,我为此使用的是Codeberg ,但这也应该以同样的方式适用于其他Gitea实例。
我将其保存下来,以便稍后我的 GPG 密钥过期并需要再次更新时使用。
通过电子邮件回复
原文: https://claytonerrington.com/blog/adding-gpg-to-codeberg-from-windows/?utm_source=rss