Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接_Java_Authentication_Networking_Ssl - Fatal编程技术网

javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接

javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接,java,authentication,networking,ssl,Java,Authentication,Networking,Ssl,我们为特定的IP地址配置了一个大型F5负载平衡器虚拟服务器,它将传入的https请求重定向到多个Windows服务器,在这些服务器上可以生成响应 我正在使用SoapUI测试通过大F5中虚拟服务器的IP地址对这些windows服务器的访问 使用由组织生成的服务器和客户机证书,我们在该组织中也进行了此设置,并通过SoapUI发送请求,我得到了预期的响应 业务要求要求Thawte提供商业签署的证书 我们创建了一个certificate服务请求(CSR)来生成一个服务器证书及其私钥,然后由Thawte对

我们为特定的IP地址配置了一个大型F5负载平衡器虚拟服务器,它将传入的https请求重定向到多个Windows服务器,在这些服务器上可以生成响应

我正在使用SoapUI测试通过大F5中虚拟服务器的IP地址对这些windows服务器的访问

使用由组织生成的服务器和客户机证书,我们在该组织中也进行了此设置,并通过SoapUI发送请求,我得到了预期的响应

业务要求要求Thawte提供商业签署的证书

我们创建了一个certificate服务请求(CSR)来生成一个服务器证书及其私钥,然后由Thawte对其进行签名,并从Thawte请求了一个客户机商业签名证书

我们在SoapUI客户端和大型F5负载平衡器中加载了这两个证书,但我们试图测试请求,却收到了“javax.net.ssl.SSLHandshakeException:握手期间远程主机关闭连接”错误

我的问题是: 如何监控双向SSL握手的确切终止位置 实际原因到底是什么?。。为什么使用商业签名的证书现在不起作用

欢迎任何回复。谢谢


但是,当我们将服务器切换到由Thawte进行商业签名时,请确保您已启用地址转换,并且您的VIP的SNAt设置为自动映射,这可能是由于Java安全功能。如果是这样,您需要编辑位于
soapui-4.x.x\bin
文件夹中的soapui-4.x.x.vmoptions文件,并在末尾添加
-Dsun.security.ssl.allowUnsaferencationation=true

您可能还需要将证书导出为pfx文件,并在soapUI首选项页面中进行设置。有关详细信息,请查看
http://geekswithblogs.net/gvdmaaden/archive/2011/02/24/how-to-configure-soapui-with-client-certificate-authentication.aspx
http://forums.devarticles.com/java-development-38/javax-net-ssl-sslhandshakeexception-received-fatal-alert-handshake-failure-11809.html

客户机是一个SoapUI请求,除了不同的客户机证书外,该请求没有更改


这表明服务器不信任新的客户端证书,这反过来意味着客户端证书甚至没有被发送,因为它没有被服务器的一个受信任的签名者签名。在这种情况下,关闭连接是服务器唯一的实际选择,因为它没有SSL警报。

您必须详细查看远程主机的日志,但可能您正在与明文端口进行SSL通信。编辑使用-Djavax.net.debug=ssl运行客户机的输出会很有用,可以在您的问题中握手。感谢Peter的回复。客户机是一个SoapUI请求,除了另一个客户机证书外,该请求没有更改,该服务器是在F5负载平衡器中配置的虚拟服务器,除了由在SoapUI项目请求中签署客户端证书的同一CA签署的新服务器证书外,该服务器也没有更改。如果是NAT或VIP问题,他就不会获得连接,更不用说握手了-1.