Java 8 Update 162 javax.net.ssl.sslexception收到致命警报意外消息

Java 8 Update 162 javax.net.ssl.sslexception收到致命警报意外消息,java,sslexception,Java,Sslexception,(我不是Java专家,但如果您能提供指导,以及我需要在哪里运行命令或进行更改,我会很好的,再次感谢您) 我们有一个通过ssl连接到Web服务的https客户端。这在Java7中总是可以正常工作的。 我们正在将计算机升级到Java8更新162。不幸的是,客户端不再能够连接到Web服务。我想知道是什么原因造成的,以及如何修复它 客户端抛出以下异常: Log SOP opened on 18/10/19 at 12:10:29:692 Log SOP is logging at level 4 at

(我不是Java专家,但如果您能提供指导,以及我需要在哪里运行命令或进行更改,我会很好的,再次感谢您)

我们有一个通过ssl连接到Web服务的https客户端。这在Java7中总是可以正常工作的。 我们正在将计算机升级到Java8更新162。不幸的是,客户端不再能够连接到Web服务。我想知道是什么原因造成的,以及如何修复它

客户端抛出以下异常:

Log SOP opened on 18/10/19 at 12:10:29:692
Log SOP is logging at level 4 at 12:10:29:692
SOP|SOP|L4|12:10:29:692|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Logging in user 'dmdbadm'...
SOP|SOP|L4|12:10:29:739|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Establishing connection to service order manager...
SOP|SOP|L4|12:10:29:817|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Connection to service order manager successfully established.
SOP|SOP|L3|12:10:29:863|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|error during JRMP connection establishment; nested exception is: 
    javax.net.ssl.SSLException: Received fatal alert: unexpected_message
SOP|SOP|L4|12:10:43:826|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Logging out user ''...
SOP|SOP|L4|12:10:43:888|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Establishing connection to service order manager...
SOP|SOP|L4|12:10:43:950|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Connection to service order manager successfully established.
SOP|SOP|L2|12:10:43:982|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|Error connecting to service order manager: java.lang.NullPointerException
SOP|SOP|L3|12:10:44:028|thread applet-com.nortelnetworks.wp.util.ui.WPApplet.class-1|null"

看起来您的服务器需要SSLv3协议,而Java 8正确地拒绝了连接。Java 8 Update 31(8u31)已根据禁用SSLv3

您有两个选择:

  • 确保您的服务器使用安全的TLS协议版本,例如TLSv1.1或TLSv1.2。这是可取的,因为SSLv3不再安全

  • 以某种方式将Java8配置为使用过时的SSLv3。不推荐


  • 为延迟道歉,所以我按照您的建议Karol Dowbecki Java update 31禁用了SSLv3,因此安装了Java update 25,这解决了问题,并且所有应用程序在封闭网络上运行良好


    我知道SSL需要在应用程序端升级到TLS,但我无法控制,因为它由另一个团队支持。

    什么是服务器TLS版本和证书提供程序?如果使用
    -Djava.net.debug=all
    运行,协商加密时会在日志中看到什么?您好,我不是java专家(很抱歉)我在哪里运行-Djava.net.debug=ssl我们已经做了一些测试,并发现Java 7何时通过TLS 1.0与web应用程序通信,但是当尝试Java 8时通过TLS 1.2,Java 7也会显示ssl 3.0,其中Java 8只显示ssl 2.0。我尝试使用TLS v1.1和TSL v1.2,这给出了错误ClassNotFoundException。由于这是一个内部应用程序,我将尝试看看是否可以将Java 8配置为用户SSLv3作为测试,看看我得到了什么输出,只需要知道启用此功能的Java属性文件。更新我从Java.security文件中的jdk.tls.disableAlgorithms中删除了SSLv3,但我想知道是否必须添加代码才能在Java中运行8?更新我已将Java 8配置为运行SSLv3(通过wireshark检查),但仍会收到相同的错误消息我相信应用程序需要通过SSLv1或SSL的第一个版本进行握手,然后将与TLSv1SSLv1进行良好通信SLV1与TLSv1.0不同,这是两个不同的标准。Update I通过禁用TLSv1使应用程序正常工作,TLSv1.1和TLS1.2还从jdk.jar.disabledAlgorithms和jdk.cert.disabledAlgorithms中删除了协议,只禁用了MD2,但这会导致需要在TLSv1上进行通信的其他应用程序出现问题