Book description
Enterprise Java™ Security: Building Secure J2EE™ Applications provides application developers and programmers with the know-how they need to utilize the latest Java security technologies in building secure enterprise infrastructures. Written by the leading Java security experts at IBM, this comprehensive guide covers the current status of the Java™ 2 Platform, Enterprise Edition (J2EE), and Java™ 2 Platform, Standard Edition (J2SE™), security architectures and offers practical solutions and usage patterns to address the challenges of Java security.
To aid developers who need to build secure J2EE applications, Enterprise Java™ Security covers at length the J2EE security technologies, including the security aspects of servlets, JavaServer Pages(TM) (JSP™), and Enterprise JavaBeans™ (EJB™)—technologies that are at the core of the J2EE architecture. In addition, the book covers Web Services security.
Examples and sample code are provided throughout the book to give readers a solid understanding of the underlying technology.
The relationship between Java and cryptographic technologies is covered in great detail, including:
Java Cryptography Architecture (JCA)
Java Cryptography Extension (JCE)
Public-Key Cryptography Standards (PKCS)
Secure/Multipurpose Internet Mail Extensions (S/MIME)
Java Secure Socket Extension (JSSE)
Table of contents
- Copyright
- Foreword
- Preface
- About the Authors
-
I. Enterprise Security and Java
-
1. An Overview of Java Technology and Security
- 1.1. Why Java Technology for Enterprise Applications?
- 1.2. Enterprise Java Technology
- 1.3. Java Technology as Part of Security
- 1.4. An Overview of Enterprise Security Integration
- 1.5. Time to Market
- 2. Enterprise Network Security and Java Technology
-
1. An Overview of Java Technology and Security
-
II. Enterprise Java Components Security
-
3. Enterprise Java Security Fundamentals
- 3.1. Enterprise Systems
- 3.2. J2EE Applications
- 3.3. Secure Interoperability between ORBs
- 3.4. Connectors
- 3.5. JMS
- 3.6. Simple E-Business Request Flow
-
3.7. J2EE Platform Roles
- 3.7.1. Application Component Provider
- 3.7.2. Application Assembler
- 3.7.3. Deployer
- 3.7.4. System Administrator
-
3.7.5. J2EE Product Provider
- 3.7.5.1. Supplying Deployment Tools
- 3.7.5.2. Configuring Security Domains
- 3.7.5.3. Supplying Mechanisms to Enforce Security Policies
- 3.7.5.4. Providing Tools for Principal Delegation
- 3.7.5.5. Providing Access to the Caller's Security Context
- 3.7.5.6. Supplying Runtime Security Enforcement
- 3.7.5.7. Providing a Security Audit Trail
- 3.8. J2EE Security Roles
- 3.9. Declarative Security Policies
- 3.10. Programmatic Security
- 3.11. Secure Communication within a WAS Environment
- 3.12. Secure E-Business Request Flow
-
4. Servlet and JSP Security
- 4.1. Introduction
- 4.2. Advantages of Servlets
- 4.3. Servlet Life Cycle
- 4.4. The Deployment Descriptor of a Web Module
- 4.5. Authentication
- 4.6. Authorization
- 4.7. Principal Delegation
- 4.8. Programmatic Security
- 4.9. Runtime Restrictions for Web Components
- 4.10. Usage Patterns
- 4.11. Partitioning Web Applications
- 5. EJB Security
- 6. Enterprise Java Security Deployment Scenarios
-
3. Enterprise Java Security Fundamentals
-
III. The Foundations of Java 2 Security
-
7. J2SE Security Fundamentals
- 7.1. Access to Classes, Interfaces, Fields, and Methods
- 7.2. Class Loaders
- 7.3. The Class File Verifier
- 7.4. The Security Manager
- 7.5. Interdependence of the Three Java Security Legs
- 7.6. Summary
-
8. The Java 2 Permission Model
- 8.1. Overview of the Java 2 Access-Control Model
- 8.2. Java Permissions
- 8.3. Java Security Policy
- 8.4. The Concept of CodeSource
- 8.5. ProtectionDomains
- 8.6. The Basic Java 2 Access-Control Model
- 8.7. Privileged Java 2 Code
- 8.8. ProtectionDomain Inheritance
- 8.9. Performance Issues in the Java 2 Access-Control Model
- 8.10. Summary
- 9. Authentication and Authorization with JAAS
-
7. J2SE Security Fundamentals
-
IV. Enterprise Java and Cryptography
-
10. The Theory of Cryptography
- 10.1. The Purpose of Cryptography
- 10.2. Secret-Key Cryptography
- 10.3. Public-Key Cryptography
-
11. The Java 2 Platform and Cryptography
- 11.1. The JCA and JCE Frameworks
-
11.2. The JCA API
- 11.2.1. The java.security.SecureRandom Class
- 11.2.2. The java.security.Key Interface
- 11.2.3. The PublicKey and PrivateKey Interfaces in Package java.security
- 11.2.4. The java.security.KeyFactory Class
- 11.2.5. The java.security.KeyPair Class
- 11.2.6. The java.security.KeyPairGenerator Class
- 11.2.7. The java.security.KeyStore Class
- 11.2.8. The java.security.MessageDigest Class
- 11.2.9. The java.security.Signature Class
- 11.2.10. The AlgorithmParameters and AlgorithmParameterGenerator Classes in Package java.security
- 11.2.11. The java.security.SignedObject Class
- 11.2.12. The java.security.spec Package
- 11.2.13. The java.security.cert Package
- 11.2.14. The java.security.interfaces Package
-
11.3. The JCE API
- 11.3.1. The javax.crypto.Cipher Class
- 11.3.2. The CipherInputStream and CipherOutputStream Classes in the javax.crypto Package
- 11.3.3. The javax.crypto.SecretKey Interface
- 11.3.4. The javax.crypto.spec.SecretKeySpec Class
- 11.3.5. The javax.crypto.KeyGenerator Class
- 11.3.6. The javax.crypto.SecretKeyFactory Class
- 11.3.7. The javax.crypto.SealedObject Class
- 11.3.8. The javax.crypto.KeyAgreement Class
- 11.3.9. The javax.crypto.Mac Class
- 11.4. JCE in Practice
- 11.5. Security Considerations
-
12. PKCS and S/MIME in J2EE
-
12.1. PKCS Overview
- 12.1.1. PKCS#1: RSA Cryptography Standard
- 12.1.2. PKCS#5: Password-Based Cryptography Standard
- 12.1.3. PKCS#7: Cryptographic Message Syntax Standard
- 12.1.4. PKCS#8: Private-Key Information Syntax Standard
- 12.1.5. PKCS#9: Selected Attribute Types
- 12.1.6. PKCS#10: Certification Request Syntax Standard
- 12.1.7. PKCS#12: Personal Information Exchange Syntax Standard
- 12.2. S/MIME Overview
- 12.3. Signing and Verifying Transactions with PKCS and S/MIME
- 12.4. Encrypting Transactions with PKCS and S/MIME
- 12.5. Security Considerations
- 12.6. Future Directions
-
12.1. PKCS Overview
-
13. The SSL and TLS Protocols in a J2EE Environment
- 13.1. The SSL and TLS Protocols
- 13.2. HTTPS
-
13.3. Using the SSL Support Built into J2EE Products
- 13.3.1. SSL to Protect User ID and Password during Authentication
- 13.3.2. SSL in Certificate-Based Authentication
- 13.3.3. Reverse Proxy Server and WAS Mutual Authentication
- 13.3.4. SSL in Cookie-Based Single Sign-On
- 13.3.5. Single Sign-On with Certificate-Based Authentication
- 13.3.6. SSL to Protect the Communication Channel
- 13.4. Using SSL from within J2EE Programs
- 13.5. Examples
- 13.6. Summary
-
10. The Theory of Cryptography
-
V. Advanced Topics
- 14. Enterprise Security for Web Services
- 15. Security Considerations for Container Providers
- 16. Epilogue
- VI. Appendixes
Product information
- Title: Enterprise Java™ Security: Building Secure J2EE™ Applications
- Author(s):
- Release date: February 2004
- Publisher(s): Addison-Wesley Professional
- ISBN: None
You might also like
article
Managing Encryption Keys
This collection of shortcuts provides a practical and concise guide to securing cloud environments. It covers …
book
J2EE™ Security for Servlets, EJBs and Web Services: Applying Theory and Standards to Practice
J2EE developers have an extraordinary array of powerful options for securing their Web services, Web applications, …
book
CCIE Security v4.0 Quick Reference, Third Edition
CCIE Security v4.0 Quick Reference¿provides¿you with detailed information, highlighting the key topics on the latest CCIE …
article
From ChatGPT to HackGPT: Meeting the Cybersecurity Threat of Generative AI
Emerging generative AI technologies such as ChatGPT are putting new tools in the hands of hackers. …