如何使用公钥验证二进制文件的有效性?

如何使用公钥验证二进制文件的有效性?

我想安装 Cygwin-64,当我进入下载页面时,一些信息告诉我:当您想要更新或安装适用于 64 位 Windows 的 Cygwin 包时,请运行 setup-x86_64.exe。setup-x86_64.exe 的签名可用于使用此公钥验证此二进制文件的有效性。

安装和更新 Cygwin 软件包

我如何使用这个公钥来验证这个二进制文件的有效性?如何在 cmd 中写入命令?

答案1

第一的,导入密钥和:

gpg --import pubring.asc
gpg --list-keys

现在你可以验证此签名针对您的公钥列表:

gpg --verify setup-x86_64.exe.sig setup-x86_64.exe

答案2

gpg --import pubring.asc(例如@elsamuko的答案)在香港邮政://keys.gnupg.net 密钥服务器 (文件中的默认值~/.gnupg/gpg.conf)。但有时候服务器+按键组合似乎不起作用。

因此,正如取消生成和/或@用户1686,另一种方法是从不同的服务器检索密钥……比如说http://keyserver.ubuntu.com/,例如。因此:

$ gpg --keyserver keyserver.ubuntu.com --recv 1a698de9e2e56300
$ gpg --list-keys

$ gpg --keyid-format=long --with-fingerprint --verify setup-x86_64.exe.sig setup-x86_64.exe
gpg: Signature made Thu Feb 17 22:01:07 2022 GMT
gpg:                using DSA key A9A262FF676041BA
gpg: Can't check signature: public key not found
gpg: Signature made Thu Feb 17 22:01:07 2022 GMT
gpg:                using RSA key 1A698DE9E2E56300
gpg: Good signature from "Cygwin <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 5640 5CF6 FCC8 1574 682A  5D56 1A69 8DE9 E2E5 6300

... 成功了!

请关注这个有趣的讨论你觉得恶心的是警告信息。

相关内容