频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
如何利用.sig文件验证数据的完整性?
2017-03-03 09:37:38      个评论      
收藏   我要投稿

下载许多开源文件时候会遇到许多.sig文件,其实这是一个签名文件,能够验证数据的完整性。

如下是下载glibc的文件并利用.sig签名文件验证数据完整性

使用gpg命令验证数据完整性

 $:gpg --verify glibc-2.25.tar.gz.sig glibc-2.25.tar.gz

输出信息:

gpg: 钥匙环‘/home/summer/.gnupg/pubring.gpg’已建立
gpg: 于 2017年02月06日 星期一 00时12分49秒 CST 创建的签名,使用 RSA,钥匙号 F1CF2187
gpg: 无法检查签名:找不到公钥

根据信息,试着导入公钥

$:gpg --recv-keys F1CF2187

输出信息:

gpg: 钥匙环‘/home/summer/.gnupg/secring.gpg’已建立
gpg: 未给出公钥服务器(使用 --keyserver 选项)
gpg: 从公钥服务器接收失败:URI 已损坏

由于没有公钥服务器尔找不到公钥,给定公钥服务器

$:glibc$ gpg --recv-keys --keyserver  keys.gnupg.net F1CF2187

输出信息:

gpg: 下载密钥‘F1CF2187’,从 hkp 服务器 keys.gnupg.net
gpg: /home/summer/.gnupg/trustdb.gpg:建立了信任度数据库
gpg: 密钥 F1CF2187:公钥“Siddhesh Poyarekar ”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)

验证数据的完整性

$:glibc$ gpg --verify --verbose glibc-2.25.tar.gz.sig glibc-2.25.tar.gz

输出信息:

gpg: 于 2017年02月06日 星期一 00时12分49秒 CST 创建的签名,使用 RSA,钥匙号 F1CF2187
gpg: 使用 PGP 信任模型
gpg: 完好的签名,来自于“Siddhesh Poyarekar ”
gpg:                 亦即“Siddhesh Poyarekar ”
gpg:                 亦即“Siddhesh Poyarekar ”
gpg:                 亦即“Siddhesh Poyarekar ”
gpg:                 亦即“Siddhesh Poyarekar (Personal) ”
gpg:                 亦即“Siddhesh Poyarekar (https://sourceware.org) ”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg:          没有证据表明这个签名属于它所声称的持有者。
主钥指纹: BC7C 7372 637E C10C 57D7  AA65 79C4 3DFB F1CF 2187
gpg: 二进制 签名,散列算法 SHA1

至此完毕,数据是完整的,可以放心解压。其次有的时候并不需要导入公钥服务器的过程就能够恢复公钥,有的时候需要导入公钥服务器,但是可能不知道服务器是什么。这种情况下,如果你是从gnu的官网下载的开源文件,可以试试服务器 keys.gnupg.net ,至于其他的就要善用搜索了。

点击复制链接 与好友分享!回本站首页
相关TAG标签 数据完整性
上一篇:http协议解析
下一篇:Storm常用计算模式
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训

版权所有: 红黑联盟--致力于做实用的IT技术学习网站