MockRestServiceServer 是否支持双向 TLS,如果支持,如何配置?

问题描述

我们在 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();
  }

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...