我正在尝试对已下载的 Centos 7 RPM 文件进行 GPG 签名验证。它们在第一次下载时已验证,但我尝试在将它们传输到 Windows 计算机后进行另一次验证。
我已经下载了 Gpg4win/gnuPG。然后保存了 CentOS 7 签名密钥(保存为 .sig. 和 .asc)。我甚至将其导入了 Kleopatra(只是为了确保万无一失)。
我可以验证 .exe 文件,但 RPM 不起作用。 gpg.exe 是在 Windows 中进行 RPM 包签名验证的正确工具吗?
不起作用的命令:我正在尝试执行命令/exe(C:\Program Files (x86)\GnuPG\bin\gpg.exe)
gpg.exe --verify RPM_File.rpm
gpg.exe --verify sig_file.sig RPM_File.rpm
最终目标是执行验证所有文件的 PowerShell 脚本。
编辑:
因此,似乎没有 Windows 软件可以解决这个问题,至少我找不到。我开始考虑将 Windows Subsystem for Linux 安装到 Windows 主机以访问 bash 和 rpm。我不知道调用(甚至从 PowerShell)rpm 进行签名验证会有什么样的可用性。
答案1
实际上,你可以。我自己也刚刚发现了这一点。Cygwin 软件包含 gpg 和 rpm 模块,你可以使用它们在 Windows 上验证 RPM 文件。
- 从 Cygwin 网站下载 setup*.exe(适用于您的硬件/操作系统),https://cygwin.com/install.html
- 运行该文件来完成 Cygwin 的基本安装。
- 选择从互联网安装,然后选择下一步接受所有默认设置。
- 当提示“选择包”时,选择以下包
- gnupg2
- 转速
- 选择下一步完成安装。
从那时起,您可以使用:
rpm --import
导入签署 RPM 文件的公钥的命令;以及,rpm -K
验证 RPM 签名的命令,其中包括完整性验证。