SOPV-I...VERIFY(1)
π SOPV-INLINE-VERIFY π
ok so bestie, welcome to sopv-inline-verify β part of the Stateless OpenPGP Signature Verification family, living in section 1 of the manual (that's SOPV-I...VERIFY(1) if you're keeping score, and yes the name got squished by the manpage formatter, it's fine, we move). This is the one that checks whether the signatures stuffed inside a message are actually, you know, valid. π
β¨ SYNOPSIS β¨
sopv [--debug] inline-verify [--not-before=DATE] [--not-after=DATE]
[--verifications-out=VERIFICATIONS] [--] CERTS [CERTS...] <INLINESIGNED
πΈ DESCRIPTION πΈ
ok so here's the vibe: sopv inline-verify takes a look at the OpenPGP signatures that are bundled up inside a message. π¦
Its standard input can be either:
- an OpenPGP Signed Message, or
- a message signed with the OpenPGP Cleartext Signing Framework
If a valid signature is found, it returns 0 and emits the contents of the message (without any signatures) on standard output. clean. no extra crumbs. π
If no valid OpenPGP signature is found, sopv inline-verify returns non-zero. periodt.
π«Ά EXAMPLES π«Ά
here's the whole thing in action, chef's kiss:
if sopv inline-verify signer.cert < message.signed > message.txt; then
echo "The information found in message.txt was signed"
else
rm message.txt
echo "no valid signature found"
fi
like. it literally cleans up after itself if the signature doesn't check out. main character energy. β¨
π OPTIONS π
--not-before=DATEβ do not accept signatures made before the specified DATE. supply DATE in ISO-8601 format, preferably in UTC (see DATE insopv(1)). π°οΈ--not-after=DATEβ do not accept signatures made after the specified DATE. supply DATE in ISO-8601 format, preferably in UTC (see DATE insopv(1)). β³--verifications-out=VERIFICATIONSβ if the caller wants to inspect the details of the valid signatures, it can use this argument to request those details. see VERIFICATIONS insopv(1)for more details about this format. π lowkey the receipts option.
π ARGUMENTS π
one or more CERTS arguments should point to OpenPGP certificates that would be acceptable signers. π§ so basically: who are we willing to believe here.
β RETURN CODE β
sopv inline-verify returns 0 to indicate that at least one valid signature was found. π
it may fail for other reasons, but NO_SIGNATURE (3) is a likely failure mode when the message contains no valid signature from any of the CERTS. π so if you get a 3, that's the "nobody we trust signed this" situation.
π AUTHOR π
this manual page was written by Daniel Kahn Gillmor. Your implementation of sopv is likely written by someone else in alignment with the SOP specification. Please run sopv version to learn more about your implementation. π«Ά
π₯ SEE ALSO π₯
sopv(1)sopv-version(1)sopv-inline-verify(1)- Stateless OpenPGP Command Line Interface https://datatracker.ietf.org/doc/draft-dkg-openpgp-stateless-cli/
- RFC 9580 https://www.rfc-editor.org/rfc/rfc9580.html
ok that's the whole page bestie, go forth and verify things πβ¨
this was sopv version 1.1, from March 2025 β mwah, slay, bye ππ
π¦ where this page comes from
- debian trixie: sopv-doc 1.1.1-1 Β· CC0-1.0
- ubuntu resolute: sopv-doc 1.1.1-1 Β· CC0-1.0
- ubuntu stonking: sopv-doc 1.1.1-1 Β· CC0-1.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms