我有一个基于 Java 的应用程序。它尝试通过 HTTPS 连接 Web 服务器。但是,它在握手的第一步就失败了。我进行了 TCP 跟踪。我还通过浏览器检查了连接。浏览器连接成功,即使 Java 失败。我也进行了 TCP 跟踪。我检查了差异。即使它们都使用 TLSv1.2,它们的“客户端问候”消息也不同。Java 使用“SSL 记录层”,浏览器使用“TLSv1.2 记录层”来发送“客户端问候”消息。
这里是 tcp 转储的屏幕截图。
以及 java 包的详细信息
和浏览器:
以及浏览器包的详细信息
一些版本信息:
Java 版本为 8(源应用程序,在 10.xx170 中运行) Java 应用程序在 JBoss 6.4 中运行(源应用程序) Web 应用程序在 IIS 下运行(Windows Server 2012,在 10.xx171 中运行)
问题:如何强制 Java 应用程序使用与浏览器相同的协议(浏览器看起来可以正常工作)。