'Post micronaut 3 upgrade, @Client configuration unable to use cert, erring out as "unable to find valid certification path to requested target"
Here is how our configuration class looks like -
public Class TestSSLConfiguration extends HttpClientConfiguration {
@Override
public SslConfiguration getSslConfiguration() {
SslConfiguration sslConfiguration = new SslConfiguration();
sslConfiguration.setEnabled(true);
SslConfiguration.KeyStoreConfiguration keyStoreConfiguration = new SslConfiguration.KeyStoreConfiguration();
keyStoreConfiguration.setType("PKCS12");
keyStoreConfiguration.setPath("file:src/test/resources/certificates/cert.p12");
keyStoreConfiguration.setPassword("pwd");
sslConfiguration.setKeyStore(keyStoreConfiguration);
return sslConfiguration;
}
}
And we are using this configuration in our MicronautTest with declarative client as below -
import io.micronaut.http.client.HttpClient;
@Inject
@Client(value = "/api", configuration=TestSSLConfiguration.class)
HttpClient httpClient;
I have ensured that certificate file exists at provided location. Following error has come up -
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
This used to work without any issues before we upgraded to MN3.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
