All, I have run into an issue with debsig-verify in combination with GnuPG v2.1.18+ as seen in Debian 9.
With GnuPG 2.1.18+, the call used in `/src/gpg-parse.c` to parse the keyring fails (error code 2), resulting in the failure of debsig-verify ``` root@bc88c35a95a8:~# debsig-verify -v -d --list-policies gitlab-ce_8.1.0+git.3216.1f52045-rc1.ce.0_amd64.deb debsig: Listing usable policies debsig: getSigKeyID: got 66D26543C0207D21 for origin key debsig: Using policy directory: /etc/debsig/policies/66D26543C0207D21 debsig: Policies in: /etc/debsig/policies/66D26543C0207D21 debsig: Parsing policy file: /etc/debsig/policies/66D26543C0207D21/gitlab.pol debsig: parsePolicyFile: parsing '/etc/debsig/policies/66D26543C0207D21/gitlab.pol' debsig: parsePolicyFile: completed debsig: Checking Selection group(s). debsig: Processing 'origin' key... gpg: no valid OpenPGP data found. gpg: processing message failed: Unknown system error debsig: subprocess getKeyID returned error exit status 2 ``` Doing some investigation with strace, I located the exact call being attempted to the keyring in use, and called it manually in an attempt to more directly replicate the failue: ``` # gpg --no-options --no-default-keyring --batch --no-secmem-warning --no-permission-warning --list-packets -q /usr/share/debsig/keyrings/66D26543C0207D21/gitlab.gpg gpg: no valid OpenPGP data found. gpg: processing message failed: Unknown system error ``` In the event that the keyring was somehow corrupt, I verified that GnuPG could indeed interpret the keychain, and found no issue: ``` # gpg --no-permission-warning --no-default-keyring --keyring /usr/share/debsig/keyrings/66D26543C0207D21/gitlab.gpg -k /usr/share/debsig/keyrings/66D26543C0207D21/gitlab.gpg ------------------------------------------------------ pub rsa4096 2016-08-18 [SC] CC9524B59894C4C0A51ACD6266D26543C0207D21 uid [ unknown] GitLab Inc. <supp...@gitlab.com> sub rsa4096 2016-08-18 [E] ``` For informational purposes, the keyring was generated with ``` gpg --no-default-keyring --batch --no-permission-warning --no-options \ --keyring "$KEYRINGS/$KEYID/gitlab.gpg" \ --import $KEYFILE ``` This may be an intentional change, or an incidental breakage from GnuPG. I have not yet derived that, but wanted to bring this to your attention. -- Jason Plum GitLab