Linux下使用.sig签名文件验证 使用方法(仅记录,仍未解决。 请大侠指教)

时间:2022-10-14 00:17:05

网上一些下载资源会同时提供下载资源名称加".sig"为文件名的分离签名文件,用来校验下载资源的完整性。

开源代码的数字签名如何使用,如:glibc源码
下载是包含两个文件:
1. tar.gz -- 源码包
2. .sig -- 数字签名

如何使用这个sig文件呢?

以grub为例,当前最新版本的grub为2.00版本,可从 ftp://ftp.gnu.org/gnu/grub/ 下载,有两个文件:grub-2.00.tar.gz.sig和grub-2.00.tar.gz。

验证方法:

$ gpg --verify grub-2.00.tar.gz.sig grub-2.00.tar.gz

gpg: 于 2012年06月28日 星期四 08时11分54秒 CST 创建的签名,使用 DSA,钥匙号 E82E4209
gpg: 无法检查签名:找不到公钥

这说明找不到对应的公钥,同时会提示当前验证的钥匙号为 E82E4209,根据这个钥匙号导入公钥:

$ gpg --recv-keys E82E4209

gpg: 下载密钥‘E82E4209’,从 hkp 服务器 keys.gnupg.net
gpg: 密钥 E82E4209:公钥“Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1

$ gpg --verify --verbose grub-2.00.tar.gz.sig grub-2.00.tar.gz

gpg: 于 2012年06月28日 星期四 08时11分54秒 CST 创建的签名,使用 DSA,钥匙号 E82E4209
gpg: 使用 PGP 信任模型
gpg: 完好的签名,来自于“Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg: 没有证据表明这个签名属于它所声称的持有者。
主钥指纹: E53D 497F 3FA4 2AD8 C9B4 D1E8 35A9 3B74 E82E 4209
gpg: 二进制 签名,散列算法 SHA512

 

参考:http://bbs.chinaunix.net/thread-1882309-1-1.html    http://www.cnblogs.com/daemon369/p/3204020.html