0

这是我们的配置类的样子 -

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;
    }

}

我们在我们的 MicronautTest 中使用这个配置,声明式客户端如下 -

import io.micronaut.http.client.HttpClient;

@Inject
@Client(value = "/api", configuration=TestSSLConfiguration.class)
HttpClient httpClient;

我已确保证书文件存在于提供的位置。出现以下错误 -

原因:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

在我们升级到 MN3 之前,这曾经没有任何问题。

4

1 回答 1

0

升级到 MN3.x 后,我们也面临同样的问题。尚无解决方案

于 2022-02-16T06:35:26.550 回答