pgpverify(8)
π pgpverify β the manual, but make it make sense π
okay bestie, welcome to pgpverify(8), a page from the System Manager's Manual. this one's about checking that a Usenet control message is actually from who it says it's from, and not some rando being messy. buckle up π
β¨ NAME β¨
pgpverify β cryptographically verify Usenet control messages π
πΈ SYNOPSIS πΈ
pgpverify
that's it. no flags. no args. she simply is. π
π¦ DESCRIPTION π¦
so pgpverify reads a Usenet control message from standard input β and that message has to have been cryptographically signed with the signcontrol program, no cap.
then pgpverify calls on the pgp program to figure out who actually signed it. and if the signature is valid? she prints the User ID of the key ID that signed the message straight to stdout. iconic behaviour honestly. β¨
π OPTIONS π
- none β literally.
pgpverifytakes no options. zero. nada. the options are not in the group chat. π
π₯ EXIT STATUS π₯
pgpverify returns these exit statuses for these cases, and you should lowkey memorize them:
0β the control message had a good PGP signature β (we love to see it)1β the control message had no PGP signature π«₯2β the control message had an unknown PGP signature π€¨3β the control message had a bad PGP signature π255β a problem occurred that's not directly related to PGP analysis of the signature π
π AUTHOR π
David C Lawrence <tale@isc.org> π«Ά
π ENVIRONMENT π
pgpverify does not modify or otherwise alter the environment before it invokes the pgp program. periodt.
so it's on whoever installs pgpverify to make sure that when pgp runs, it can actually locate and read a PGP key file containing the PGP public keys for the appropriate Usenet hierarchy administrators. that's the installer's job, not hers. do your part bestie π«‘
π SEE ALSO π
pgp(1)
π§ NOTES π§
okay storytime, because the lore here is actually wild.
historically, Usenet news server admins would configure their news servers to automatically honor Usenet control messages based on the originator of the control messages and the hierarchies those control messages applied to. for example β in the past, David C Lawrence <tale@uunet.uu.net> always issued control messages for the "Big 8" hierarchies (comp, humanities, misc, news, rec, sci, soc, talk). and Usenet news administrators would configure their news server software to automatically honor newgroup and rmgroup control messages that originated from David Lawrence and applied to any of the Big 8 hierarchies.
sounds chill right? π unfortunately no.
because Usenet news articles (including control messages!) are notoriously easy to forge. and soon enough, malicious users clocked that they could create or remove (at least temporarily) any Big 8 newsgroup they wanted by simply forging an appropriate control message in David Lawrence's name. the audacity. as Usenet became more widely used, forgeries became more common. π
so pgpverify was designed to let Usenet news administrators configure their servers to cryptographically verify control messages before automatically acting on them. under the pgpverify system:
- a Usenet hierarchy maintainer creates a PGP public/private key pair and disseminates the public key.
- whenever the hierarchy maintainer issues a control message, he uses the
signcontrolprogram to sign the control message with the PGP private key. - Usenet news administrators configure their news servers to run the
pgpverifyprogram on the appropriate control messages, and take action based on the PGP key User ID that signed the control message β not the name and address that appear in the control message'sFromorSenderheaders. π
so basically, using the signcontrol and pgpverify programs appropriately essentially eliminates the possibility of malicious users forging Usenet control messages that sites will act upon. why? because those users would have to obtain the PGP private key in order to forge a control message that would pass the cryptographic verification step. get rekt. π
and if the hierarchy administrators properly protect their PGP private keys, the only way a malicious user could forge a validly-signed control message would be by breaking the RSA encryption algorithm β which (at least at this time) is believed to be an NP-complete problem. and if that's indeed the case, discovering the PGP private key based on the PGP public key is computationally impossible for PGP keys of a sufficient bit length. good luck with that one π
also,<URL:ftp://ftp.isc.org/pub/pgpcontrol/>is where the most recent versions ofsigncontrolandpgpverifylive, along with PGP public keys used for hierarchy administration. go grab 'em π§
okay that's the whole page bestie!! it came from the System Manager's Manual β that's the pgpverify(8) you see at the top and bottom of the original β and yeah, it's the version that lives at that ftp URL up there. slay, stay safe, verify your signatures, and never trust a From header. mwah πβ¨π
π¦ where this page comes from
- debian bookworm: inn 1:1.7.2q-47
- debian trixie: inn 1:1.7.2q-52
- ubuntu jammy: inn 1:1.7.2q-46build3
- ubuntu noble: inn 1:1.7.2q-50
- ubuntu questing: inn 1:1.7.2q-52
- ubuntu resolute: inn 1:1.7.2q-52build1
- ubuntu stonking: inn 1:1.7.2q-52build2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms