客户端无法将HTTPS与WireMock对话:javax.net.ssl.SSLException:不支持或无法识别的SSL消息

问题描述

我具有以下模拟配置:

 public MockedServer() {
        super(new WireMockConfiguration()
                .httpsPort(8443)
                .keystorePath("identity.jks")
                .keystorePassword("password")
        );

        System.out.println(this.getOptions().httpsSettings());
    }

我跟随this tutorial生成了密钥库

我正在按如下方式运行经过测试的JAR:

    ProcessBuilder pb = new ProcessBuilder("java","-jar",pathToJar,"--Djavax.net.ssl.trustStore=" + keystore).start();

问题在于客户端抛出以下异常:

javax.net.ssl.SSLException:不支持或无法识别的SSL消息

为什么?

值得一提的是,客户端(不安全地)配置为信任所有证书,因此不应从客户端发出SSL证书。

解决方法

终于找到了问题。我将其留给以后的读者使用:

访问端口时,应使用httpsPort()而不是port()

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...