网上下载时经常看到会同时出现一个 .sig 签名文件,或者 gpg 公钥,只知道他是用来验证下载包(.deb,.rpm…)的完整性的,不怎么注意,今天尝试了解他到底怎么用的时候,还费了一些周折!

正好准备学习ClamAV ,就以 https://www.clamav.net/downloads 为例

我这里是 ubuntu 20.04 ,自然是下载 .deb ,同时也下载了那个 .deb.sig

$ ls

clamav-0.104.2.linux.x86_64.deb  clamav-0.104.2.linux.x86_64.deb.sig

其中 .deb.sig 就是 .deb包的签名公钥

gpg在线手册

  1. 验证签名
    $ gpg --verify clamav-0.104.2.linux.x86_64.deb

     gpg: no valid OpenPGP data found.gpg: the signature could not be verified.Please remember that the signature file (.sig or .asc)should be the first file given on the command line.
    

    用法错误!第一个参数应该是 .sig 签名文件

    $ gpg --verify clamav-0.104.2.linux.x86_64.deb.sig clamav-0.104.2.linux.x86_64.deb
    gpg: Signature made Tue 11 Jan 2022 10:23:08 PM CST
    gpg: using RSA key 609B024F2B3EDD07
    gpg: Can’t check signature: No public key

    还是不对!没有公钥?

  2. 在公钥服务器上搜寻密钥
    $ gpg --search-keys 609B024F2B3EDD07

     gpg: data source: https://keys.openpgp.org:443gpg: key "609B024F2B3EDD07" not found on keyservergpg: keyserver search failed: Not found
    

    找不到 609B024F2B3EDD07 对应的公钥?

  3. 从公钥服务器上导入密钥
    $ sudo gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 609B024F2B3EDD07

    有人说会有端口问题?

    $ sudo gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 609B024F2B3EDD07

     [sudo] password for dhbm: gpg: directory '/root/.gnupg' createdgpg: keybox '/root/.gnupg/pubring.kbx' createdgpg: /root/.gnupg/trustdb.gpg: trustdb createdgpg: key 609B024F2B3EDD07: public key "Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>" importedgpg: Total number processed: 1gpg:               imported: 1
    

    重复执行不会变化,不影响!

    $ sudo gpg --keyserver hkp://keyserver.ubuntu.com --recv-keys 609B024F2B3EDD07

     gpg: key 609B024F2B3EDD07: "Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>" not changedgpg: Total number processed: 1gpg:              unchanged: 1
    
  4. 再次验证
    但是为什么验证还是不行?
    注意看以上 --recv-keys 的时候加上了 sudo ,返回在 /root/.gnupg/trustdb.gpg

    所以,gpg --verify 自然也应该加上 sudo !

    $ sudo gpg --verify clamav-0.104.2.linux.x86_64.deb.sig

     gpg: assuming signed data in 'clamav-0.104.2.linux.x86_64.deb'gpg: Signature made Tue 11 Jan 2022 10:23:08 PM CSTgpg:                using RSA key 609B024F2B3EDD07gpg: Good signature from "Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>" [unknown]gpg: WARNING: This key is not certified with a trusted signature!gpg:          There is no indication that the signature belongs to the owner.Primary key fingerprint: E34D B95B 374B 3157 0496  CD3F 609B 024F 2B3E DD07
    

    $ sudo gpg --verify clamav-0.104.2.linux.x86_64.deb.sig clamav-0.104.2.linux.x86_64.deb

     gpg: Signature made Tue 11 Jan 2022 10:23:08 PM CSTgpg:                using RSA key 609B024F2B3EDD07gpg: Good signature from "Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>" [unknown]gpg: WARNING: This key is not certified with a trusted signature!gpg:          There is no indication that the signature belongs to the owner.Primary key fingerprint: E34D B95B 374B 3157 0496  CD3F 609B 024F 2B3E DD07
    

    这就 ok !下载的 .deb 包可以放心解压安装!

  5. 顺便学习一下 gpg 命令

    列出密钥
    $ sudo gpg --list-keys |grep 609B024F2B3EDD07

       E34DB95B374B31570496CD3F609B024F2B3EDD07
    

    列出密钥和签名
    $ sudo gpg --list-sigs | grep 609B024F2B3EDD07

     E34DB95B374B31570496CD3F609B024F2B3EDD07sig 3        609B024F2B3EDD07 2021-03-30  Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>sig          609B024F2B3EDD07 2021-03-30  Talos (Talos, Cisco Systems Inc.) <research@sourcefire.com>dhbm@ubuntu2004-205:~/test$ sudo gpg --list-sigs |grep $ sudo gpg --list-keys |grep 609B024F2B3EDD07
    

.sig 签名文件怎么使用相关推荐

  1. 给本地openwrt/LEDE软件源添加软件包,更新Package.sig签名文件,解决Signature check failed问题

    先说说为什么要搭建本地软件源,openwrt/LEDE稳定版软件,驱动版本都比较旧,trunk版呢又更新的很快,系统装上几天又想要从官方服务器上使用opkg装软件可能就装不上了,所以最好的解决办法就是 ...

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

    网上一些下载资源会同时提供下载资源名称加".sig"为文件名的分离签名文件,用来校验下载资源的完整性. 开源代码的数字签名如何使用,如:glibc源码 下载是包含两个文件: 1. ...

  3. IDA生成sig签名文件

    IDA介绍 IDA是一款强大的静态分析(程序不需要运行时直接查看汇编)工具,OD相反,OD是强大的动态追踪(程序运行时分析)工具 IDA签名的作用 因为有些版本的IDE在release版本下IDA识别 ...

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

    下载许多开源文件时候会遇到许多.sig文件,其实这是一个签名文件,能够验证数据的完整性. 如下是下载glibc的文件并利用.sig签名文件验证数据完整性 使用gpg命令验证数据完整性 $:gpg -- ...

  5. 可疑文件_如何识别文件的真假

    每个人都下载文件,大家有没有想过,文件可能是假的,尤其来自网盘或专门的下载站. 本文就来谈谈如何识别文件的真假. 一.XcodeGhost 事件 我们从一件真实的事件说起. 2015 年 9 月,苹果 ...

  6. golang interface 类型转换_无符号Golang程序逆向方法解析

    在去年的inctf2018中,出现了一道Go语言编写的进程通信逆向题,无论是从题目整体设计还是解题思路上来说都独树一帜,自己在解题过程中遇到了很多问题,但我这不打算做过多探讨,网上也有大佬的解题过程, ...

  7. dsa签名 linux_linux SElinux防护 加密解密 gpg签名与认证

    SElinux Security-Enhanced Linux 由美国国家安全局主导开发 一套强化linux安全的mac扩展模块 selinux的运作机制: 集成到linux内核上(2.6及以上) 操 ...

  8. 信息安全——加密与认证

    此次学习任务 采用Java/Python语言编写一个较为完整的加密与认证程序,要求具有: 具有较完整的图形化界面: 使用MD5.SHA系列算法,实现消息摘要,确保消息的完整性: 使用DES.AES等算 ...

  9. linux pgp按照在哪个目录,在Linux上使用PGP签名验证文件完整性

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

  10. IDA中的SIG应用

    SIG在IDA中相当于符号文件的作用,如果是自己写的PE程序,编译后会有OBJ文件,可以通过工具把它转化为一个SIG 便于在IDA观看.要应用SIG需要把SIG文件拷贝到IDA目录下的sig文件夹中, ...

最新文章

  1. ARM Linux (S3C6410架构/2.6.35内核)的内存映射(三)
  2. Shiro权限控制笔记要点
  3. SmartFoxServer 2X 笔记一:login request (转)
  4. 2019年黑龙江省计算机等级考试,2019年的下半年黑龙江省计算机等级考试报名工作即将开始...
  5. Flutter开发之认识Flutter(一)
  6. 一个Portal处理流程
  7. 【玩转cocos2d-x之九】动作类CCAction
  8. 用java编写一个简单计算器
  9. linux下用c语言打印hellword,用C语言写一个Helloworld_实现第一步编译运行
  10. Linux 下构建域名服务器
  11. 微信小程序:强大的多功能图片处理器
  12. 梦幻星球社区APP源码 HYBBS的iApp社区源码
  13. 解决Navicat激活、注册时候出现No All Pattern Found的问题
  14. lammps输出模拟结果的4种方法
  15. livox_camera_calib的使用
  16. 公司官网建设企业网站建设的好处,为什么要做网站?
  17. 何佳佳:民生银行基于开源的运维实践
  18. linux 合并视频文件,Linux下转换视频格式与合并视频
  19. Python实现excel重复值计数/记录小白第一次学习
  20. 【新手】网络拓扑图要这样画

热门文章

  1. 4.28考试总结(下午)
  2. UVA-127 Accordian Patience(模拟)
  3. mybatis配置文件祥解(mybatis.xml)
  4. Jenkins随笔(四)常用插件-SVN
  5. 习进度条2017上学期第十周
  6. 房间计费系统改造E-R图纸设计
  7. HDU-1226 超级密码
  8. 操作cookies值
  9. expect的安装与使用
  10. 安装anaconda,jupyter基本操作说明快捷键使用