Performing Mutual TLS Authentication with Rest Assured
It's possible that you want to perform mutual TLS authentication to further secure your APIs.
If you're writing a Java project, it's possible you're using Rest Assured to interact with your API.
But it's not immediately obvious how we can actually set it up within Rest Assured. Fortunately, if we look at the
auth() method, which returns an
AuthenticationSpecification, there is a
certificate method, which allows us to pass in a pre-created JKS keystore and its password:
String pathToKeystore = "/path/to/keystore.jks"; String keystorePassword = "changeit"; RestAssured .given() .auth() .certificate(pathToKeystore, keystorePassword) .get("https://localhost:8443/");
Rest Assured will then go through the keystore and authenticate with the key it needs.
Note that this was tested with Rest Assured v4.0.0.