Client Certificate Authentication with TLS
Although username and password authentication are extremely common, as we discussed in Chapter 1, Anatomy of an Unsafe Application, and in Chapter 2, Getting Started with Spring Security, forms of authentication exist that allow users to present different types of credentials. Spring Security caters to these requirements as well. In this chapter, we’ll move beyond form-based authentication to explore authentication using trusted client-side certificates.
During the course of this chapter, we will cover the following topics:
- Learning how client certificate authentication is negotiated between the user’s browser and a compliant server
- Configuring Spring Security to authenticate users with client certificates
- Understanding the architecture of client certificate authentication in Spring Security
- Exploring advanced configuration options related to client certificate authentication
- Reviewing pros, cons, and...