如何在Windows下进行RPM包签名验证?

如何在Windows下进行RPM包签名验证?

我正在尝试对已下载的 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 文件。

  1. 从 Cygwin 网站下载 setup*.exe(适用于您的硬件/操作系统),https://cygwin.com/install.html
  2. 运行该文件来完成 Cygwin 的基本安装。
  3. 选择从互联网安装,然后选择下一步接受所有默认设置。
  4. 当提示“选择包”时,选择以下包
    • gnupg2
    • 转速
  5. 选择下一步完成安装。

从那时起,您可以使用:

  • rpm --import导入签署 RPM 文件的公钥的命令;以及,
  • rpm -K验证 RPM 签名的命令,其中包括完整性验证。

相关内容