禁用WebTestClient的TLS证书检查

时间:2017-10-19 13:56:35

标签: spring spring-webflux

我在集成测试中使用Spring WebFlux WebTestClient。我使用WebTestClient.bindToServer()创建客户端。经测试的服务器使用HTTPS提供资源。我有以下代码:

WebTestClient webTestClient = WebTestClient.bindToServer()
    .baseUrl("https://secured.example.com")
    .build();
webTestClient.get().uri("/index.html")
    .exchange()
    .expectStatus().isOk();

在测试中无需使用有效证书。如何配置WebTestClient以信任所有证书?

P.S。我可以配置WebClient来信任每个人。但WebTestClient更适合编写测试。

1 个答案:

答案 0 :(得分:0)

您可以使用可以提供给ClientHttpConnector的自定义WebTestClient对其进行配置。

// create a custom connector and customize TLS configuration there.
ReactorClientHttpConnector connector = new ReactorClientHttpConnector(options -> options...);
WebTestClient client = WebTestClient.bindToServer(connector);

最近已在SPR-16168修正了此问题。