Part VII — Security and Cryptography

Protect your applications and data with modern security APIs, cryptographic practices, and secure communication protocols.

What You'll Learn

Build secure Java applications from the ground up. Master TLS/SSL configuration for encrypted communication, learn cryptographic fundamentals and best practices, manage cryptographic keys and certificates safely, and implement fine-grained authorization controls.

Chapters in This Part

Chapter 22. Cryptography Basics

Understand cryptographic primitives: hashing, symmetric encryption, asymmetric encryption, and digital signatures. Learn how to use the javax.crypto and java.security packages correctly, including proper random number generation and algorithm selection.

Chapter 23. TLS and SSL

Configure TLS securely for both clients and servers. Understand cipher suites, protocol versions, certificate validation, and common pitfalls. Learn modern defaults and how to configure mutual TLS (mTLS) for service-to-service authentication.

Chapter 24. KeyStore and Certificates

Master KeyStore for managing cryptographic keys and certificates. Learn about trust stores, key generation, certificate loading, and the operational aspects of managing certificate lifecycles in production systems.

Chapter 25. Authorization and Permissions

Implement role-based and permission-based access control with Java's security manager. Understand the access control context, permission checking, and how to design secure authorization layers in modern applications.