Summary of Contents Introduction 1 Chapter 1: Considering Security 9 Chapter 2: Secure Java Code 21 Chapter 3: Introduction to Cryptography and Cryptography Services in Java 33 Chapter 4: Symmetric Encryption 65 Chapter 5: Asymmetric Encryption and Key Agreement 93 Chapter 6: Message Digests, Digital Signatures, and Certificates 123 Chapter 7: The Core Java Security Model and Applet Security 177 Chapter 8: Additional Security Models in Java 231 Chapter 9: SSL 261 Chapter 10:    Securing a Database 307 Chapter 11:    Securing a Large Application 359 Chapter 12:    Implementing Your Own Provider 413 Appendix A:    Additional Techniques 475 Appendix B:    MySQL Database and JDBC Driver 491 Appendix C:    BASE64 Code 497 Appendix D:    EncryptedObject 507 Index 513