rpm 签名验证在 CentOS 上失败,在 Fedora 上工作

Posted

技术标签:

【中文标题】rpm 签名验证在 CentOS 上失败,在 Fedora 上工作【英文标题】:rpm signature verification fails on CentOS, works on Fedora 【发布时间】:2019-04-08 14:17:34 【问题描述】:

为什么以下内容在 Fedora (28) 上有效,但在 CentOS (7.5) 上无效?

wget https://download.fman.io/1.3.5/fman.rpm
sudo rpm -v --import https://download.fman.io/rpm/public.gpg
rpm -K fman.rpm

在 Fedora 上,我得到了

fman.rpm: digests signatures OK

而在 CentOS 上:

fman.rpm: RSA sha1 ((MD5) PGP) md5 NOT OK (MISSING KEYS: (MD5) PGP#9cfaf7eb)

也许问题如下:当我执行gpg --import public.gpg 后跟gpg --list-keys 时,我得到:

pub   4096R/44B73575 2016-11-21
uid                  Michael Herrmann <my email>
sub   4096R/C98DD00E 2016-11-21
sub   4096R/9CFAF7EB 2016-11-21

注意44B7... 是父键,9CFA... 是上面 CentOS 消息中提到的子键。

现在,当我执行rpm -q gpg-pubkey --qf '%NAME-%VERSION-%RELEASE\t%SUMMARY\n' 时,我得到:

gpg-pubkey-44b73575-58333336    gpg(Michael Herrmann <my email>)

所以rpm 有父键44b7...。似乎无法从那个转到子键。

可能相关:

Bad signatures or NOKEY errors on RPMs I just signed

【问题讨论】:

【参考方案1】:

旧版本的 RPM 不支持子密钥签名。

【讨论】:

以上是关于rpm 签名验证在 CentOS 上失败,在 Fedora 上工作的主要内容,如果未能解决你的问题,请参考以下文章

Linux RPM验证程序包来源的合法性

ASP.NET Core Azure AD OpenID - 生产服务器上的令牌签名验证失败

关于RPM包的签名

数字签名/电子签名验证失败

接微信支付提示:支付验证签名失败

签名验证失败。没有提供安全密钥来验证签名