Chapter 11. CipherMail
cryptographically enabled email client. It can send and receive
encrypted, authenticated messages over the Internet. Like
classes presented elsewhere in this book.
KeyManagerclass, from Chapter 5, is used to keep track of all of
The ElGamal cipher and signature classes, presented in Chapter 9, are used to encrypt a session key and to provide authentication. You’ll also need the Jonathan cryptographic provider,
The base64 classes,
BASE64Decoder, are used to create ASCII mail messages from binary data. These classes are presented in Appendix B, Base64, as part of the
oreilly.jonathan.utilpackage. Alternately, if you wish, you can use the base64 classes with the same names from the
sun.miscpackage, shipped as part of the JDK.
CipherMail uses its own cryptographic message
format in conjunction with standard Internet email transport
CipherMail’s use of standard
email protocols makes it a tool that is widely useful. This approach,
however, has some shortcomings. Specifically,
CipherMail encrypts only the body of messages, not
their headers. Even if you use
CipherMail to encrypt your messages, other people can still find out quite a bit of information simply by examining the messages you send and receive. They’ll know whom you’re writing to, who writes to you, when you send and receive messages, and the subject lines of the messages. ...