You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS 7下Google Chrome RPM签名验证失败,如何提取RPM签名以手动验证?

CentOS 7下Google Chrome RPM签名验证失败,如何提取RPM签名以手动验证?

针对你遇到的CentOS 7上Google Chrome RPM签名验证失败的问题,以及想要提取签名手动验证的需求,我整理了具体的解决方法:

问题根源

你碰到的核心问题是CentOS 7自带的RPM版本(通常是4.11.x系列)存在功能局限性——它不支持验证RPM使用的子密钥签名。这就是为什么即使你正确导入了Google的公钥,yum仍然会抛出签名验证失败的错误。

提取RPM签名到ASC文件的方法

要从Chrome的RPM包中提取出可用于GPG手动验证的ASC格式签名,执行以下命令即可:

rpm -qp --qf '%{SIGTAG_GPG:armor}\n' google-chrome-stable_current_x86_64.rpm > chrome-rpm-signature.asc

这条命令会将RPM内嵌的GPG签名以ASCII Armor格式输出到chrome-rpm-signature.asc文件中,这正是你需要的独立签名文件。

手动验证签名的完整步骤

拿到签名文件后,按照以下步骤完成手动验证:

  1. 导入Google的签名公钥
    先获取Google的Linux软件签名公钥(可从官方Linux软件源渠道获取内容),保存为linux_signing_key.pub文件后,导入到本地GPG密钥环:
    gpg --import linux_signing_key.pub
    
  2. 验证签名与RPM内容的一致性
    使用GPG工具验证提取的签名与RPM包内容的匹配性:
    gpg --verify chrome-rpm-signature.asc <(rpm -qp --qf '%{SIGTAG_GPG:plaintext}\n' google-chrome-stable_current_x86_64.rpm)
    
    如果验证通过,GPG会输出类似Good signature from "Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com>"的提示,说明该RPM确实由Google的合法签名密钥签署。

关于你之前尝试的命令的说明

你之前使用的rpm -qp --qf '%|SIGTAG_GPG?{%{SIGTAG_GPG:pgpsig}}:{(none)}|}|\n'命令,确实只能获取到签名所用的密钥ID(属于RPM元数据),而非实际的加密签名数据。你的理解是对的——这个ID仅能告知你RPM声称的签名密钥,无法直接用来验证文件的真实性。

临时安装 workaround(可选)

如果需要快速完成Docker环境下的安装,且能接受临时的安全妥协,可以在yum install命令后添加--nogpgcheck参数跳过签名验证,但更推荐先完成手动签名验证后再执行安装操作。

备注:内容来源于stack exchange,提问作者Keegan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 11:48:12