我正在运行一个用于JUnit测试中模拟的独立的Wiremck实例。这适用于超文本传输协议,如果我在交换机--HTTP-port 8443
中使用wiremck自签名证书。但是,如果我指定--HTTP-keystoreserver_keystore. jks
,任何与Wiremck通信的尝试都会抛出一个javax.net.ssl.SSLHandshakeException:远程主机终止了握手
。连接到浏览器中的管理页面https://localhost:9093/__admin/
会显示类似的连接关闭错误。
密钥库的生成方式如下;
keytool -genkey -keyalg RSA -keysize 2048 -alias server -keypass secret -storepass secret -keystore server_keystore.jks
如果我启用日志记录所有流量在Wiremck我看到;
Problem decoding network traffic
java.nio.charset.MalformedInputException: Input length = 1
我已经添加了System. setProperty("javax.net.ssl.TrustStore","server_keystore.jks");
在我的调用代码之前尝试与Wiremck通信没有成功。
由于您已经在密钥库中设置了密码,因此您需要通过--keystore-passder
参数将其提供给WireMock。