Moving from a legacy in-house framework to an open standard like SpringBoot has been extremely satisfying. However, being part of a large organization sometimes one doesn’t get the exposure to how things are done, case in point mTLS. Another group is responsible for the solution that’s used by others and exposed through a common library. While it is really useful in a larger organization to abstract this away and create a consistent implementation where features and bugs can be handled in a central way it does leave those who are interested in the inner-workings to be left a little in the dark.
The intention of this post is to bring you through a simple mTLS implementation using SpringBoot. We will create two simple SpringBoot applications, a client and a server, generate certificates and run them.
To make it easier and get you up and running faster the example application is available on github https://github.com/joutwate/mtls-springboot. There you will find a README that will bring you through everything step by step.