利用.sig文件验证数据的完整性

下载许多开源文件时候会遇到许多.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 <siddhesh@gotplt.org>”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg:               已导入:1  (RSA: 1)

验证数据的完整性

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

输出信息:

gpg:20170206日 星期一 001249秒 CST 创建的签名,使用 RSA,钥匙号 F1CF2187
gpg: 使用 PGP 信任模型
gpg: 完好的签名,来自于“Siddhesh Poyarekar <siddhesh@gotplt.org>”
gpg:                 亦即“Siddhesh Poyarekar <siddhesh@redhat.com>”
gpg:                 亦即“Siddhesh Poyarekar <spoyarek@redhat.com>”
gpg:                 亦即“Siddhesh Poyarekar <sid@reserved-bit.com>”
gpg:                 亦即“Siddhesh Poyarekar (Personal) <siddhesh.poyarekar@gmail.com>”
gpg:                 亦即“Siddhesh Poyarekar (https://sourceware.org) <siddhesh@sourceware.org>”
gpg: 警告:这把密钥未经受信任的签名认证!
gpg:          没有证据表明这个签名属于它所声称的持有者。
主钥指纹: BC7C 7372 637E C10C 57D7  AA65 79C4 3DFB F1CF 2187
gpg: 二进制 签名,散列算法 SHA1

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

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值