rpm -K 显示已签名,但密钥不正确

rpm -K showing signed, but not by correct key

我正在构建一个基于 yocto openembedded 环境的项目。我已经使用 sign_rpm 配方设置了 gpg 签名。

然后我计划上传 rpms 以与 Smart 一起使用。

在开发板上设置了正确的 public 密钥后,我可以验证构建生成的 rpm 是否正确签名(使用 rpm -K。)我还可以验证之前生成的文件这个没有通过验证

问题:当我的同事(既没有更改配方来生成签名文件,也没有私钥)生成一个构建并且我通过 Smart 将其拉下来时,文件显示为已签名。

我已签名的文件报告:

(sha1) dsa sha1 md5 OK

他上传(或直接复制给我)的文件报告相同。

既然我正在对文件进行 gpg 签名(或者至少我相信我是),我应该在 rpm -K 命令的输出中看到 gpg 吗?

再次指出这一点,我在构建签名 rpm 之前复制的 rpm 正确显示它是未签名的:

RSA sha1 md5 NOT_OK

希望我已经解释得够清楚了,有人可以明白为什么:A - 不应该签名的文件通过了签名检查,B - 为什么旧的 rpm 未能按预期进行检查。

RPM --checksig 使用 "gpg" 和 "pgp" 作为 header+payload 签名,RPM5 中不再使用。

算法名称 "rsa"、"dsa" 和 "ecdsa" 显示为 header-only 个签名。