J2EE developers have an extraordinary array of powerful options for securing their Web services, Web applications, EJB components and RMI objects. Now, expert Java architect Pankaj Kumar helps developers make sense of Java's increasingly rich security APIs, tools, patterns, and best practices-showing how to use each of them in the right place, at the right time, and in the right way.
Kumar covers every significant J2SE and J2EE security mechanism, presenting practical implementation techniques for the entire J2EE project lifecycle: analysis, design, development, deployment and operations. The book's example-rich coverage includes:
I. THE BACKGROUND.1. A Security Primer.
The Security Problem. Computers, Networks and the Internet. Security Concepts. Security Attacks. System Vulnerabilities. Toward the Solution. Summary. Further Reading.2. A Quick Tour of the Java Platform.
Packaging of Java Platform. Evolution of Java. Java Security Model. J2SE Platform. J2EE Platform. Summary. Further Reading.
II. THE TECHNOLOGY.3. Cryptography with Java.
Example Programs and crypttool. Cryptographic Services and Providers. Cryptographic Keys. Encryption and Decryption. Message Digest. Message Authentication Code. Digital Signature. Key Agreement. Summary of Cryptographic Operations. Cryptography with crypttool. Limited versus Unlimited Cryptography. Performance of Cryptographic Operations. Practical Applications. Legal Issues with Cryptography. Summary. Further Reading.4. PKI with Java.
Digital Certificates. Managing Certificates. Certification Authority. PKI Architectures. Java API for PKI. Applications of PKI. PKI Use-Cases. Summary. Further Reading.5. Access Control.
A Quick Tour of Java Access Control Features. Access Control Requirements for the Java Platform. User Identification and Authentication. Policy-Based Authorization. Developing a Login Module. Applying JASS to a Sample Application. Performance Issues. Summary. Further Reading.6. Securing the Wire.
Brief Overview of SSL. Java API for SSL. KeyManager and TrustManager APIs. Understanding SSL Protocol. HTTP over SSL. RMI Over SSL. Performance Issues. Trouble Shooting. Summary. Further Reading.7. Securing the Message.
Message Security Standards. A Brief Note on Handling XML. XML Signature. Java API for XML Signature. XML Encryption. Java API for XML Encryption. XML Signature and Encryption Combinations. Summary. Further Reading.
III. THE APPLICATION.8. RMI Security.
Sample Application Using RMI. Security from Downloaded Code. SSL for Transport Security. RMI and Access Control. Summary. Further Reading.9. Web Application Security.
Java Web Applications. Apache Tomcat. A Simple Web Application: RMB. Security Requirements. User Authentication Schemes. Web Container Security Features. HTTPS with Apache Tomcat. Common Vulnerabilities. Summary. Further Reading.10. EJB Security.
A Brief Overview of EJBs. Working with WebLogic Server 7.0. EJB Security Mechanisms. Declarative Security for EJBs. Declarative Security Example. EJB Security and J2SE Access Control. Summary. Further Reading.11. Web Service Security.
Web Services Standards. Web Services In Java. Apache Axis. Servlet Security for Web Services. SSL Security for Web Services. WS Security. WS Security with Apache Axis. Summary. Further Reading.12. Conclusions.
Technology Stack. Authentication and Authorization. Distributed Application Security. Comprehensive Security.Appendix A: Public Key Cryptography Standards.