Beginning Cryptography with Java

Beginning Cryptography with Java
by  David Hook  
Wrox Press 2005 (480 pages)
ISBN:0764596330

For Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications, this book enables you to create and implement secure Java applications and make use of standard protocols.

Table of Contents
Beginning Cryptography with Java
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
List of Figures
List of Code Examples

beginning cryptography in java
Beginning Cryptography in Java
by David Hook  
Wrox Press 2005 (480 pages)
ISBN:0764596330

For Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications, this book enables you to create and implement secure Java applications and make use of standard protocols.

While cryptography can still be a controversial topic in the programming community, Java has weathered that storm and provides a rich set of APIs that allow you, the developer, to effectively include cryptography in applications-if you know how.

This book teaches you how. Chapters one through five cover the architecture of the JCE and JCA, symmetric and asymmetric key encryption in Java, message authentication codes, and how to create Java implementations with the API provided by the Bouncy Castle ASN.1 packages, all with plenty of examples. Building on that foundation, the second half of the book takes you into higher-level topics, enabling you to create and implement secure Java applications and make use of standard protocols such as CMS, SSL, and S/MIME.

What you will learn from this book

  • How to understand and use JCE, JCA, and the JSSE for encryption and authentication
  • The ways in which padding mechanisms work in ciphers and how to spot and fix typical errors
  • An understanding of how authentication mechanisms are implemented in Java and why they are used
  • Methods for describing cryptographic objects with ASN.1
  • How to create certificate revocation lists and use the Online Certificate Status Protocol (OCSP)
  • Real-world Web solutions using Bouncy Castle APIs

Who this book is for

This book is for Java developers who want to use cryptography in their applications or to understand how cryptography is being used in Java applications. Knowledge of the Java language is necessary, but you need not be familiar with any of the APIs discussed.

About the Author

David Hook has been writing software in a variety of domains and languages for the last 20 years . He has worked with Java since 1995, originally doing medical imaging before moving into cryptography and security a year or so later. In April 2000, he co-founded the open source Bouncy Castle cryptography project and has played an active role in it ever since. He currently works as a freelance consultant, mainly in Java, doing the odd bit of lecturing and writing on the side. When he is not using his spare time to work on Bouncy Castle, he spends it pursuing his other interest in computer graphics. He lives in Melbourne, Australia, with his most patient wife Janine and a cat named Hamlet, who really seems to think he's a little cryptographer in a fur coat.