理解gpg的问题

理解gpg的问题

现在github上有一个我感兴趣的项目

项目作者将他的指纹和公钥包含在 .asc 文件中

当我刚接触这个领域时,我想将事物联系在一起

我如何利用公钥和指纹来验证项目的真实性

我将克隆存储库并使用 git 的显示签名标志

请注意,我还是这个领域的新手,想了解更多信息并了解我在做什么,我愿意获得详细的答案以深入研究该主题

我想知道并了解如何使用指纹和 .asc 文件来验证克隆存储库的真实性的确切步骤

谢谢大家

答案1

这实际上并不是 Unix/Linux 特定的问题,因此它可能会迁移到密码学或计算机安全 StackExchange,或 SuperUser.SE。

您可以使用gpg2 --import keyfile.asc将密钥导入到您的 GPG 中。这将允许您使用git verify-commitgit verify-tag命令来验证克隆的 git 存储库上各种元素的签名。但如果不进一步检查密钥本身,这只能防止意外的数据损坏,而不能防止恶意操作。

指纹仅与密钥本身相关,与 git 存储库中的任何内容无关。如果指纹与公钥一起提供,则指纹仅可用于验证密钥本身在传输过程中没有被意外损坏。 (如果密钥已被恶意更改,则旁边提供的指纹也可能被恶意更改。)

可以用来gpg2 --show-keys keyfile.asc查看密钥是否已被他人签名;如果是,如果您有签名者的 GPG 公钥,则 GPG 可以自动验证密钥已告诉 GPG,您相信签名者在签署其他人的密钥时会小心谨慎。可以重复此操作,以通过您愿意接受的尽可能多的人形成“信任链”。

否则,您必须联系该项目的作者,并以您可以相信不会被篡改的方式从他们那里获取指纹。在验证指纹gpg2 --fingerprint <key ID>并确认其与所有者所说的相符后,您可以相信密钥实际上来自该项目的作者。

相关内容