Avoiding the problem. There are a couple of ways to avoid
the problem entirely:
MIME: The best way to avoid these problems is to use a well-integrated,
PGP/MIME-capable mailer/crypto suite. The MIME standards were developed
in large part to avoid problems such as these (which afflict many other
areas besides cryptography, such as multimedia, non-Amerenglish languages,
and sometimes even simple text passing between dissimilar email networks).
Likewise, MIME-encapsulation standards for cryptography deal with sequencing
and control issues within the mailer, preventing some kinds of damage that
happen before the message is actually sent, or after it's received.
Note, however, that even mailer/crypto combinations that are capable of
this often also allow non-MIME signing, in order to cooperate with non-MIME
mailers. Even these MIME-savvy mailers will be exposed to all the
problems discussed here, when they're not operating in MIME mode.
For best protection against these sorts of problems, PGP users should be
sure to enable PGP/MIME.
Proper PGP - Mailer Integration: Many of these problems arise
because additional mailer processing happens after the PGP processing.
The worst examples are when there is no integration at all, and you have
to PGP-process the message in a separate file or on the clipboard, then
paste it into the message. But even so-called integrated systems
may have problems because PGP processing is invoked at the wrong time.
At least one of these problems happens, in at least one configuration,
because though PGP handles the message at the right time, it can not make
needed adjustments to the mail headers. If you're having clear-signature
problems, explore your mailer and PGP configuration and use models to see
if there are modes that put PGP later into the process; check for an update
to your mailer and/or PGP plug-in that does so.
Encryption: As it happens, if you encrypt your message as
well as signing it, you'll be protected from most of these problems (the
one exception is Bogus quoted-printable
substitution). This is not directly because the message is encrypted,
however; rather, it's because encrypted messages, being binary objects,
need even more protection in the mails than mere text does. Crypto
programs provide this through some sort of encoding that guarantees the
message makes it through all known forms of damage. Unfortunately,
this sort of protection changes the actual text of the message, rendering
it unreadable to humans. This is not a problem for encrypted text
- it wasn't readable in the first place - but is quite contrary to the
purpose of clear-signing a message.