The book tells the reader how to understand and use JCE, JCA, and the JSSE for encryption and authentication. It walks the reader through how padding mechanisms work in ciphers, as well as spot and fix typical errors. The book also provides an understanding of how authentication mechanisms can be implemented in Java and why they are used. Through this text, the reader can easily understand how certificates are constructed, how to use the to generate certificates, validate certificate chains, create private credential objects which can be sensibly imported into other vendor products, as well understand how protocols like Cryptographic Message Syntax (CMS, or PKCS 7), S/MIME and SSL work.
About the Author
David Hook is currently a freelance consultant, often serving as lead. He is cofounder of Bouncycastle, the highly regarded open source security site, has deep knowledge of cryptography and security, and teaches programming and security in the C/S dept at RMIT University in Melbourne, Australia. He has worked with java since 1995 and has been actively involved is using and developing cryptographic APIs in Java for the last 8 years.
Table of Contents: Acknowledgments
Introduction
Chapter 1: The JCA and the JCE
Chapter 2: Symmetric Key Cryptography
Chapter 3: Message Digests, MACs, and HMACs
Chapter 4: Asymmetric Key Cryptography
Chapter 5: Object Description in Cryptography Using ASN.1
Chapter 6: Distinguished Names and Certificates
Chapter 7: Certificate Revocation and Path Validation
Chapter 8: Key and Certificate Management Using Keystores
Chapter 9: CMS and S/MIME
Chapter 10: SSL and TLS
Appendix A: Solutions to Exercises
Appendix B: Algorithms Provided by the Bouncy Castle Provider
Appendix C: Using the Bouncy Castle API for Elliptic Curve
Appendix D: Bibliography and Further Reading
Index