如何验证DEB包签名 dpkg-sig校验方法详解

使用 dpkg-sig 验证 deb 包签名的步骤如下:1. 安装 dpkg-sig 工具,通过 sudo apt install dpkg-sig;2. 使用 dpkg-sig --verify package.deb 验证签名有效性,若输出 goodsig 则表示签名有效;3. 若出现 badsig 或无签名信息,则可能因未导入公钥、文件被修改或签名损坏导致;4. 通过 gpg 命令导入缺失的公钥以完成验证;5. 使用 dpkg-sig --info package.deb 可查看签名详情而不进行验证,确保来源可信。遇到问题时应检查签名是否存在及密钥是否已正确导入。

如何验证DEB包签名 dpkg-sig校验方法详解

安装 DEB 包时,确保其来源可信和内容未被篡改非常重要。dpkg-sig 是一个常用的工具,可以用来验证 DEB 包的签名信息。下面介绍如何使用 dpkg-sig 校验 DEB 包签名。

如何验证DEB包签名 dpkg-sig校验方法详解

安装 dpkg-sig 工具

首先,你需要在系统中安装 dpkg-sig。它通常不在默认安装列表中,可以通过以下命令安装:

如何验证DEB包签名 dpkg-sig校验方法详解
sudo apt install dpkg-sig

安装完成后,就可以开始对 DEB 包进行签名验证了。


使用 dpkg-sig 验证签名

验证 DEB 包签名的基本命令如下:

如何验证DEB包签名 dpkg-sig校验方法详解
dpkg-sig --verify package.deb

执行后,会输出签名信息。如果看到类似下面的内容,说明签名有效且通过校验:

Processing package.deb...
GOODSIG _apt-adobedevlinux-keyring-gpg=... (签名者信息)

如果你看到的是 BADSIG 或者没有签名信息,则说明签名有问题或不存在。


签名验证失败可能的原因

  • 未导入签名者的 GPG 公钥:系统无法识别签名者身份,导致显示 UNKNOWNSIG。这时需要手动导入签名者的公钥。

    钉钉 AI 助理 钉钉 AI 助理

    钉钉AI助理汇集了钉钉AI产品能力,帮助企业迈入智能新时代。

    钉钉 AI 助理 204 查看详情 钉钉 AI 助理

    导入方法示例:

    gpg --keyserver keyserver.ubuntu.com --recv-keys <KEY_ID>
    gpg --export --armor <KEY_ID> | sudo apt-key add -
  • DEB 包被修改过:如果文件内容在签名之后被改动,会出现 BADSIG 提示。

  • 签名本身不完整或损坏:可能是打包过程出错,也可能是下载过程中文件损坏。


查看 DEB 包中的签名信息

如果你想只查看签名信息而不做验证,可以使用以下命令:

dpkg-sig --info package.deb

这会显示签名者、时间、使用的密钥等信息,有助于判断签名是否来自可信来源。


基本上就这些。只要注意公钥是否已导入、命令是否正确,一般都能顺利验证 DEB 包的签名。遇到问题时,先确认签名是否存在,再检查密钥是否可信。

以上就是如何验证DEB包签名 dpkg-sig校验方法详解的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。