在某些情况下,我将使用一个没有安装gpg的系统,我不想花时间设置它并安装pub键。我想在提交时查看签名并将其复制到另一个系统以验证它。我似乎无法找到一种方法来查看正在安装gpg的签名。当我尝试使用任何git命令来查看它时,Git只会给出一个错误,即没有安装gpg。
有没有办法在没有安装gpg的情况下查看带有pgp签名的git pgp signed commits?
我一直在寻找答案,并没有找到任何有用的东西。感谢您提供的任何帮助或指示。
答案 0 :(得分:1)
有没有办法在没有安装gpg的情况下查看带有pgp签名的git pgp signed commits?
我不希望这样。如果您想查看详细信息,您至少需要一个用于读取OpenPGP数据包的解析器和一个用于从属于该关键字的键中获取信息的完整实现。 GnuPG几乎是唯一相关的自由软件OpenGP实现(除了Go语言的库和Java / C#的Bouncy Castle)。虽然有一个简化的实现gpgv
仅用于验证签名,但它不是由git连接的,而且你必须安装其他软件(一个精简的GnuPG软件包),无论如何。
此外,OpenPGP签名不包含证书(公钥)。要实际查看签名,您必须获取它们 - 也是由GnuPG执行的操作。最后,要实际验证其他设备上的签名,您不仅需要签名,还需要签名的数据(因此,git目录)。
我很惊讶有一个Linux发行版默认没有安装GnuPG,大多数包管理器使用它来验证包,它应该可以在几乎所有的发行版中使用'软件存储库。
我试图通过hack导出/转储git想要验证的签名(gpg
转储输入中名为$PATH
的脚本),但看起来git正在进行一些进一步的检查或通信