有2个Websphere服务器。首先是客户端,其次是服务器(8.5.5.13)。
最终用户向客户端发出 SOAP请求。客户端收到请求,进行一些处理,然后向服务器发出 REST请求。
服务器从客户端收到请求时,将引发以下异常。
错误22304 --- [ebContainer:2] c.i.w.s.c.impl.SSLHandshakeErrorTracker:SSLC0008E:无法 初始化SSL连接。未经授权的访问被拒绝或安全 设置已过期。例外是 javax.net.ssl.SSLHandshakeException:客户端请求的协议TLSv1 未启用或不受支持
我们已经在服务器级别启用 TLSv1.2 然后启用 TLSv1 之后进行了测试。我们已经从服务器中导出了证书,并且还添加到了客户端信任存储中。但是我们仍然无法解决该错误。
问题:
1.我们是否需要在客户端WebSphere中保留与服务器相同的TLS版本?
2.我们部署的应用程序是java7。是由于Java版本导致我们所面临的问题吗?
3.是仅由于证书还是其他原因?
当我们在服务器上禁用全局安全性时,请求正在正确处理。
答案 0 :(得分:0)
此错误是由于服务器上的TLS版本不兼容。客户端正在使用TLSv1发送请求,并且服务器已启用TLSv1.2。对于SSL握手,第一件事是TLS兼容性。客户端和服务器应具有相同的TLS版本。
此后,如果使用单向SSL握手,则需要提取服务器计算机中的证书,并且应在客户端计算机中安装该证书。这样SSL握手就会发生。