"brian m. carlson" <sandals@xxxxxxxxxxxxxxxxxxxx> writes: >> FWIW, I'm on board with returning non-zero in any case where gpg would. > > I think that's probably the best solution overall. FWIW, I am not married to the current behaviour. I would not be surprised if it mostly came by accident and not designed. > There's a bug report > in Debian (https://bugs.debian.org/895048) that requests that behavior > instead of the status quo, and also it's the behavior that's documented: The last bit is a bit questionable; I think you are reading too much into the description. A substitute for gpg.program MUST signal good (or not good) signature the same way as gpg would with its exit code---that is all the description says. It does not say anything about how that exit code affects the exit status of "tag --verify" and friends that called gpg.program. > gpg.program > Use this custom program instead of "gpg" found on $PATH when > making or verifying a PGP signature. The program must support > the same command-line interface as GPG, namely, to verify a > detached signature, "gpg --verify $file - <$signature" is > run, and the program is expected to signal a good signature > by exiting with code 0, and to generate an ASCII-armored > detached signature, the standard input of "gpg -bsau $key" is > fed with the contents to be signed, and the program is > expected to send the result to its standard output.