TL;DR
GnuPG developer Werner warns that cleartext PGP signatures remain dangerous despite their readability and legacy use. He recommends using detached signatures or PGP/MIME and shows how to extract the actual signed text with gpg or gpgv before trusting the signature.
What happened
A GnuPG blog post traced the origin, weaknesses and practical verification steps for cleartext PGP signatures. Introduced in early PGP implementations for human-readable signed text on BBS and early email, cleartext signatures let recipients read a message without special tooling but are vulnerable to a range of display and parsing tricks. Terminal escape sequences, deceptive armor lines, look‑alike characters, injected comment headers, altered blank lines and overlong lines can make a user believe something was signed when it was not. Werner demonstrates that only a PGP tool that writes out the verified signed text can reveal what was actually covered by the signature. He provides command examples (gpg –verify -o signed.txt message.asc and gpgv -o signed.txt message.asc) and notes that detached signatures or PGP/MIME for mail are safer alternatives. The post also recounts that Michael Elkins developed PGP/MIME (RFC2015) in 1996 and that some clients still offer cleartext signing.
Why it matters
- What appears on screen can be manipulated; visual inspection alone doesn’t guarantee the displayed text was signed.
- Only processing the whole clearsigned payload with a PGP tool yields the true signed bytes to be further trusted or processed.
- Detached signatures and PGP/MIME remove many of the parsing and presentation pitfalls inherent in cleartext signing.
- Scripts and automated checks should prefer gpgv (which verifies only against dedicated trusted key files) or explicit gpg options to avoid mistaken trust.
Key facts
- Cleartext signatures were introduced in early PGP to allow readable signed text without special tools.
- Terminal control codes and Unicode look‑alikes can be used to trick users into accepting unsigned or altered content.
- Tools must extract the verified signed text; example commands: gpg –verify -o signed.txt message.asc and gpgv -o signed.txt message.asc.
- gpgv is intended for scripts and verifies only against keys in trustedkeys.gpg or trustedkeys.kbx.
- The gpg option –assert-signer can be used in some cases instead of gpgv.
- Michael Elkins developed PGP/MIME (RFC2015) in 1996; PGP/MIME is now the common standard for signed/encrypted mail.
- The author advises avoiding cleartext signatures except for legacy reasons and using detached signatures for general use.
- To verify a detached signature: gpg –verify message.sig message.txt or gpgv message.sig message.txt.
What to watch next
- Whether mail clients that still offer a cleartext‑sign option remove that capability (ongoing client behavior noted in the post).
- Continued discovery of new tricks that manipulate presentation or armor parsing and thereby bypass user expectations.
- Adoption and default use of PGP/MIME and detached signatures in mail clients and automated tools.
Quick glossary
- Cleartext signature: A PGP signature format that embeds a human‑readable signed message together with a signature block, allowing immediate display without special decoding.
- Detached signature: A signature file separate from the signed data; verification is performed against the exact bytes of the signed file.
- PGP/MIME: A mail format for signed and encrypted messages using MIME structure; developed to replace legacy cleartext signing for email.
- gpgv: A GnuPG verification tool intended for scripts; it verifies signatures only against keys in designated trusted key files.
Reader FAQ
Can I trust what I see on the terminal for a cleartext signed message?
No. The post explains that terminal escape codes, look‑alike characters and header tricks can alter the displayed content; you must extract the verified signed text with a PGP tool to know what was signed.
What is the recommended alternative to cleartext signatures?
Use detached signatures generally, and PGP/MIME for email; the author advises avoiding cleartext signatures except for legacy compatibility.
How do I extract the signed text to verify it?
Use gpg –verify -o signed.txt message.asc or gpgv -o signed.txt message.asc to write the verified signed content to a file before processing it further.
Are cleartext signatures obsolete?
The post says they are legacy and should be avoided; it also notes that some mail clients still offer the option to send them.
Cleartext Signatures Considered Harmful Posted December 26, 2025 by Werner Since the very first PGP versions from the early 1990ies PGP and all other implementations support a thing called cleartext…
Sources
- Cleartext Signatures Considered Harmful
- Security and Usability Issues of Clear Signed Checksum Files
- PGP signatures on PyPI: worse than useless
- RFC 4880: OpenPGP Message Format
Related posts
- Inside Access Now’s Digital Security Helpline that probes government spyware
- Chrome renders PNGs differently than Safari because of embedded ICC profiles
- Gpg.fail — homepage shows brief message: ‘brb, were on it!!!!’