MockRestServiceServer 是否支持双向 TLS,如果支持,如何配置?
Does MockRestServiceServer support mutual TLS and if so, how to configure it?
我们在 IT 测试中使用 org.springframework.test.web.client.MockRestServiceServer 来验证我们的 RestTemplate 处理。现在,我还需要包括一些用于相互身份验证的测试,我不确定这是否可行以及如何实现。 MockRestServiceServer 是否支持该功能,还是我需要做其他事情?
因为我还没有找到方法,所以我选择了 com.github.tomakehurst.wiremock.WireMockServer,效果很好。这是我的设置方式,请注意我还需要添加 keyManagerPassword(我不确定为什么,但它只是密钥库之一)
public WireMockServer mutualTlsMock;
@BeforeEach
void setUp() {
mutualTlsMock = new WireMockServer(options()
.httpsPort(8443)
.needClientAuth(true)
.keystorePath("path/to/my/keystore.jks")
.keystorePassword("keystorePassword")
.keyManagerPassword("keystorePassword")
.trustStorePath("path/to/my/keystore.jks")
.trustStorePassword("keystorePassword"));
mutualTlsMock.start();
}
@AfterEach
void shutdown() {
mutualTlsMock.shutdown();
}
我们在 IT 测试中使用 org.springframework.test.web.client.MockRestServiceServer 来验证我们的 RestTemplate 处理。现在,我还需要包括一些用于相互身份验证的测试,我不确定这是否可行以及如何实现。 MockRestServiceServer 是否支持该功能,还是我需要做其他事情?
因为我还没有找到方法,所以我选择了 com.github.tomakehurst.wiremock.WireMockServer,效果很好。这是我的设置方式,请注意我还需要添加 keyManagerPassword(我不确定为什么,但它只是密钥库之一)
public WireMockServer mutualTlsMock;
@BeforeEach
void setUp() {
mutualTlsMock = new WireMockServer(options()
.httpsPort(8443)
.needClientAuth(true)
.keystorePath("path/to/my/keystore.jks")
.keystorePassword("keystorePassword")
.keyManagerPassword("keystorePassword")
.trustStorePath("path/to/my/keystore.jks")
.trustStorePassword("keystorePassword"));
mutualTlsMock.start();
}
@AfterEach
void shutdown() {
mutualTlsMock.shutdown();
}