java - 客户端无法将 HTTPS 与 WireMock 对话:javax.net.ssl.SSLException: Unsupported or unrecognized SSL message
问题描述
我有以下模拟配置:
public MockedServer() {
super(new WireMockConfiguration()
.httpsPort(8443)
.keystorePath("identity.jks")
.keystorePassword("password")
);
System.out.println(this.getOptions().httpsSettings());
}
我按照本教程生成密钥库
我正在运行经过测试的 JAR,如下所示:
ProcessBuilder pb = new ProcessBuilder("java","-jar", pathToJar,
"--Djavax.net.ssl.trustStore=" + keystore).start();
问题是客户端抛出以下异常:
javax.net.ssl.SSLException:不支持或无法识别的 SSL 消息
为什么?
还值得一提的是,客户端不应该存在 SSL 证书问题,因为它(不安全地)配置为信任所有证书。
解决方案
终于找到问题了。我会把它留给未来的读者:
访问端口时,您应该使用httpsPort()
而不是port()
.
推荐阅读
- kubernetes - Kubernetes 将本地系统中的目录共享到 Kubernetes 容器
- javascript - 在调整窗口大小时更改 React js 中的值
- c# - 从批处理脚本运行 .Net Core 应用程序并重定向异常
- angular - 如何在 Angular 6 中使用带有查询参数的“routerLinkActive”?
- android - 如何保存嵌套的recyclerview单项数据?
- php - 如何从请求中获得加号?
- csv - 如何将非常大的 csv 文件与另一个文件连接起来?
- android - 我可以在哪里获得 google-services.json 而无需迁移到 Firebase?
- windows - VS Code 和 Windows Git 中的文件名区分大小写
- powerbi - 在 Power BI 中减去两个日期/时间列