rpm -Kv
我从我的一个实验包中得到以下输出:
clime@coprbox ~/v4tests $ rpm -Kv signed10.rpm
signed10.rpm:
Header V3 RSA/SHA1 Signature, key ID f67e1676: NOKEY
Header SHA1 digest: OK (6289e7d8d0a73be107945df48cefb762a5036eb1)
V3 RSA/SHA1 Signature, key ID f67e1676: BAD
MD5 digest: OK (3c8cafddad94a1e75adf52c59203cd3a)
现在,有两行提到“签名”:
Header V3 RSA/SHA1 Signature, key ID f67e1676: NOKEY
V3 RSA/SHA1 Signature, key ID f67e1676: BAD
第一行的含义是什么,第二行的含义是什么?
答案1
从: http://www.rpm.org/max-rpm/s1-rpm-checksig-using-rpm-k.html
md5 消息表示包文件中包含的并在构建包时计算的校验和与 RPM 在验证期间计算的校验和相匹配。由于两个校验和匹配,因此包不太可能被修改。
因此,有一个签名,但(在您的情况下)有两个摘要(校验和)。
第一行的意思是gpg没有导入。
第二行表示签名无效。
答案2
我发现任何 rpm 文件中实际上都有两个签名 - 一个仅签名标头,第二个签名标头+有效负载数据。正如你所说,还有两个摘要 - 一个是 header+payload 上的 md5,第二个 (sha1) 仅在 header 上。