Я использую автономный экземпляр Wiremock для проверки в тестах JUnit. Это отлично работает с http, и если я использую самоподписанный сертификат wiremock с коммутатором --https-port 8443
. Однако, если я укажу --https-keystore server_keystore.jks
, любая попытка связаться с Wiremock, например WireMock.reset();
, выдает javax.net.ssl.SSLHandshakeException: Remote host terminated the handshake
. Подключение к странице администратора https://localhost:9093/__admin/
в браузере показывает похожую ошибку при закрытии соединения.
Хранилище ключей было сгенерировано следующим образом:
keytool -genkey -keyalg RSA -keysize 2048 -alias server -keypass secret -storepass secret -keystore server_keystore.jks
Если я включаю ведение журнала для всех трафика c в Wiremock, я вижу;
Problem decoding network traffic
java.nio.charset.MalformedInputException: Input length = 1
Я добавил System.setProperty("javax.net.ssl.trustStore", "server_keystore.jks");
в свой код вызова до попытки безуспешно связаться с Wiremock.