致命警报:Java 8上的协议版本

时间:2019-05-27 17:57:34

标签: java-8 http-post httpclient

我有一个用Java 8开发的Web服务客户端。我已验证要连接的主机通过此站点正在使用TLSv1.2。 https://www.ssllabs.com/ssltest/

在发送执行后请求时出现以下错误:

javax.net.ssl.SSLException:收到致命警报:protocol_version

我已经在代码的开头添加了这一行。没有运气。

System.setProperty(“ https.protocols”,“ TLSv1.2”);

我还在WebSphere服务器应用程序中添加了JVM参数。

-Dhttps.protocols = TLSv1.2

仍然存在错误。

我读过类似的问题,我认为使用Java 8默认为TLSv1.2。 错误不断出现,因此我仍然添加了这些属性。 所以我不确定为什么会这样。

这是我的代码。

AssertionError: [Before Transform] Incorrect image shape: expecting (3, 28, 28), received (28, 28)

错误指向最后一行。 HttpResponse响应= httpClient.execute(httpPost); 有谁知道为什么这个错误不断出现?需要增援。

环境:

  • Java 8
  • WebSphere 8.5.5
  • Windows 10

1 个答案:

答案 0 :(得分:0)

您必须在Websphere Application Server级别上而不是在Java运行时执行期间更改TLS协议版本。

从WAS管理控制台中将协议设置为TLSv1.2,如下图所示,然后重新启动Websphere Application Server。

enter image description here