如何使用 debsigs 和 debsig-verify 签署和验证 .deb 文件?

问题描述 投票:0回答:1

我发现使用

debsigs
debsig-verify
设置 deb 文件签名和签名验证非常困难。有一个旧的 HOWTO 被广泛引用,但至少对于这些工具的当代版本不起作用。 我最终确实让它发挥了作用,所以我将这个问题与我的答案一起发布,以防对其他人有所帮助。经过足够的挖掘后,我遇到的每一个挑战都有解决方案,但我找不到任何将它们联系在一起形成有效流程的东西。

这是基于

debsigs 0.1.26

debsig-verify 1.20.9
    

digital-signature verify dpkg debian-packaging
1个回答
0
投票

安装

debsigs

后,您可以在

/usr/share/doc/debsig-verify/
下找到详细信息,位于:

    policy-syntax.txt
  • examples/
  • 
    
  • 注释

    debsig-verify
  • 适用于由
    debsigs
    签名的软件包,而不是
    dpkg-sig
    相关目录名称和命令选项暗示您使用密钥环文件
    
  • 我无法让它发挥作用。我发现的一篇帖子说“它们是钥匙,而不是钥匙圈。”那行得通。
    .pol 文件中的 XML 命名空间和目录结构必须与
  • debsig-verify --version
  • 的输出匹配
    (注意 http 与 https)
    gpg“密钥 ID”是密钥指纹的最后 16 个十六进制数
  • 这是“短 ID”,在某些参考文献中被指示为不安全
    • 我没有看到任何方法让
    • debsigs
    • 使用长密钥ID(最后32个十六进制)
      我找不到一种方法让 gpg 给我一个密钥 ID,而且我发现计算 16 个字符来复制/过去很容易出错,所以我在解决方案中使用了 
    • cut
    • 
      
  • 如何

# create key gpg --full-generate-key # follow prompts; for testing it's easier to use no passphrase # add key for debsigs in KEY_ID dir KEY_ID=`echo -n <key fingerprint> | cut -c25-` echo -n $KEY_ID | wc -c # must be 16 chars KEY_DIR=/usr/share/debsig/keyrings/$KEY_ID mkdir $KEY_DIR gpg --export $KEY_ID > $KEY_DIR/debsig.gpg # not ascii & not a keyring # create XML policy POL_DIR=/etc/debsig/policies/$KEY_ID mkdir $POL_DIR vi $POL_DIR/my-app.pol # copy/paste example from /usr/share/doc/debsig-verify/examples/ replace example id= value w/ $KEY_ID replace File= value with debsig.gpg # sign package debsigs --sign=origin --default-key=$KEY_ID my-app-2.1.0.deb # You should be prompted for key's passphrase - if not, sort that out directly w/ gpg first # if there is a KDE desktop running, the prompt may pop-up in the GUI in a dialog box # verify package debsig-verify --debug --verbose my-app-2.1.0.deb # utility commands # show signature in .deb debsigs --list my-app-2.1.0.deb # note: some debsigs versions (0.01.19) crash when signature starts with comment # upgrade to newer version (0.1.26) # show gpg packets from signature file ar x my-app-2.1.0.deb _gpgorigin # extract the signature gpg --list-packets _gpgorigin

© www.soinside.com 2019 - 2024. All rights reserved.