Linux下载文件的时候,由于网络等原因,下载的文件可能不完整,对于别有心机的人可以更改文件,这就需要我们对文件的完整性进行验证。这里以securityonion-14.04.5.2.iso为例进行验证。

首先下载securityonion-14.04.5.2.iso和securityonion-14.04.5.2.iso.sig文件

gpg软件,Linux系统默认是安装的,如果没有请自行解决

然后进行验证

$ gpg --verify securityonion-14.04.5.2.iso.sig securityonion-14.04.5.2.iso

这里提示是本地没有相应的公钥。所以,你需要在本地导入相应的公钥。

$ gpg --recv-keys 788F62F8ED6CF680

由于已经给出验证的秘钥号,直接导入即可

最后再次输入

$ gpg --verify securityonion-14.04.5.2.iso.sig securityonion-14.04.5.2.iso

验证成功

如果损坏则提示

对于损坏的文件,自行解决。

注意,对于部分软件是没有给出相应的验证的sig文件,给出MD5或者sha1的值,这里需要使用相应的工具进行验证

以下参考:http://linuxgem.is-programmer.com/posts/5111.html

MD5 与 SHA1 是最常用的两种哈希算法,主要用来检测下载文件的正确性,计算你下载文件的哈希值,如果和官方公布的哈希值相同,那么可以确定你的下载是正确的。

在 Linux 下如何计算这两种哈希值呢,基本上所有的 Linux 发行版都内置了这两个命令,比如要校检的文件命为 download.iso:

1. 计算文件的 MD5 - md5sum

# md5sum download.iso
b9555cc1915652237948e37ccc9c484e  download.iso

2. 计算文件的 SHA1 - sha1sum

# sha1sum download.iso
bb7d67fb5776c2854edf35ec4a585ff8adc3dbda  download.iso

使用.sig签名验证文件的更多相关文章

  1. 在Linux上使用PGP签名验证文件完整性

    文件在下载及存储过程中可能由于传输错误.硬件故障.文件系统错误等网络.硬件和软件方面的原因导致文件损坏,也可能在传输过程中受到攻击(如"中间人攻击")导致下载的文件被篡改或者下载到 ...

  2. 一个获取google chrome扩展crx文件信息的PHP操作类

    此类中实现了从crx文件获取扩展的Appid.获取manifest.json文件内容.将crx文件转换为一般zip文件 代码如下: <?php class CrxParserException ...

  3. 加密和数字签名工具GPG

    转载: 源文件位置:http://blog.chinaunix.net/uid-9525959-id-2001824.html GPG [功能]  GPG是加密和数字签名的免费工具,大多用于加密信息的 ...

  4. Mono on CentOS 6.3 安装笔记

    在网上找到篇关于yum的文章,写的很详细特此推荐下,在阅读本文之前建议先看看它: <CentOS yum源的配置与使用> 如果用的是移动光驱,建议不要开启本地的yum 的本地reposit ...

  5. c pvr转存pvr.ccz格式

    pvr.ccz 是把pvr用zlib算法压缩后的图像格式,其优点是可以提升文件读取效率. 大多数情况下我们可以用一些工具来将pvr压缩到pvr.ccz ,下面提供一个c++方法来完成这个过程 int ...

  6. 在可部署到brew真机上的程序包构建完之后又要如何将该程序包发布到真机上呢

    1.到brew官网上去申请含有classid的bid文件,以及.sig文件 2.根据申请到的bid文件重新生成mif文件. 3.将mif文件部署到brew真机上的mif文件夹下. 4.在真机上的bre ...

  7. django学习之- 信号

    - Django内置的信号Model signals pre_init # django的modal执行其构造方法前,自动触发 post_init # django的modal执行其构造方法后,自动触 ...

  8. Linux信号通讯编程

    信号通讯流程为: ①进程A/内核选择信号 ②发送信号 ③进程B接收信号并处理 Linux系统支持的全部信号均定义在/usr/include/asm/signal.h.当中常见的信号有: ①SIGKIL ...

  9. Fedora CoreOS 非LInux专业安装文章第一手

    开篇一张图 Docker基本知识掌握后,又学习了"专有的系统平台",CoreOS; 之前一直Windows,学习Docker的同时练习了好多Linux知识,全是江湖路数,打个不同就 ...

随机推荐

  1. L198

    One of the most common birth defects throughout the world is a cleft lip. Babies born with a cleft l ...

  2. 记录一些js框架用途

    accounting.min.js 货币格式化alertify.min.js 提示信息库amd.loader.js 按需动态加载js文件angular-cookies.js 处理cookieangul ...

  3. minicom 十六进制(hex)显示接收数据

    /******************************************************************************** * minicom 十六进制(hex ...

  4. soql取第一件数据

    User u = [select ID,Name from User Limit 1];

  5. USB学习笔记-总结

    1. # ls /sys/bus/usb/devices/解析:1-0:1.0 1-1 1-1:1.0 2-0:1.0 2-1 2-1:1.0 2-2 2-2.1 2-2:1.0 2-2.1:1.0 ...

  6. cratedb joins 原理(官方文档)

      JOINs are essential operations in relational databases. They create a link between rows based on c ...

  7. linux中bin与sbin目录的作用及区别介绍

    linux中bin与sbin目录的作用及区别介绍 本文介绍下,linux中的二个主要目录:bin与sbin,它们的作用与区别,学习linux的朋友可以参考下 在linux系统中,有两个重要的目录:bi ...

  8. WCF 快速入门

    定义服务契约 构建HelloWCF应用的第一步是创建服务契约.契约式是表示消息应用外形的主要方式.对于外形,是指服务暴露的操作,使用的消息 schema和每个操作实现的消息交换模式(MEP).总之,契 ...

  9. emacs之自动完成括号

    网上抄来的问题不少,看emacswiki,用autopairs即可 emacsConfig/autopair-setting.el (require 'autopair) (autopair-glob ...

  10. Bootstrap-CL:多媒体对象

    ylbtech-Bootstrap-CL:多媒体对象 1.返回顶部 1. Bootstrap 多媒体对象(Media Object) 本章我们将讲解 Bootstrap 中的多媒体对象(Media O ...