Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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
Java SSl握手导出时获取错误证书错误_Java_Ssl - Fatal编程技术网

Java SSl握手导出时获取错误证书错误

Java SSl握手导出时获取错误证书错误,java,ssl,Java,Ssl,安装Verisign证书后,我们收到错误的证书错误, 同一服务器在自签名证书上工作正常。。 请帮助我如何修复此错误 2015年6月17日23:56:29:493 PDT]0000001c系统错误Rjavax.net.ssl.SSLHandshakeException:错误证书 位于com.ibm.jsse.bv.a(未知来源) 位于com.ibm.jsse.bv.startHandshake(未知来源) 位于com.ibm.net.ssl.www2.protocol.https.b.o(b.ja

安装Verisign证书后,我们收到错误的证书错误, 同一服务器在自签名证书上工作正常。。 请帮助我如何修复此错误

2015年6月17日23:56:29:493 PDT]0000001c系统错误Rjavax.net.ssl.SSLHandshakeException:错误证书 位于com.ibm.jsse.bv.a(未知来源) 位于com.ibm.jsse.bv.startHandshake(未知来源) 位于com.ibm.net.ssl.www2.protocol.https.b.o(b.java:136) 位于com.ibm.net.ssl.www2.protocol.https.i.connect(i.java:28) 位于com.ibm.net.ssl.www2.protocol.http.bc.getOutputStream(bc.java:44) 位于com.ibm.net.ssl.www2.protocol.https.l.getOutputStream(l.java:23) 位于com.corio.tsr.webservices.SRAutomationWebServiceClient.getJsonObject(SRAutomationWebServiceClient.java:174) 位于com.corio.tsr.jms.receiver.SRAutomationMessageBean.onMessage(未知源) 位于com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java:1013) 位于com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:746) 位于$Proxy1.onMessage(未知源)

上面是SSL握手期间生成的错误日志

已尝试以下步骤来解决此问题。
1) 将证书导入服务器端(cacertsfile)

可能是因为导入时cacerts文件已损坏

导入完成后,是否可以粘贴控制台日志?可能您可以备份当前的cacerts文件,并从使用原始的jdk cacerts文件开始

此外,请检查证书存储文件中的证书

/usr/java/jdk1.8.0_45/bin/keytool -v -list -keystore <cert-file-full-path>
/usr/java/jdk1.8.0_45/bin/keytool-v-list-keystore

错误的证书错误通常是由于缺少签名者证书造成的。握手时,服务器将显示其个人证书。必须信任此证书,以便检查签名者的信任存储。对于自签名证书,自签名证书是它自己的签名者。所以个人证书应该在信任存储中。对于Verisign证书(或任何CA),个人证书通常由一个或多个中间证书和根证书签名。这些签名者需要在信任存储中,以避免坏证书错误。

您能提供更多信息吗?此web服务客户端是独立运行的,还是在WebSphere下部署的?这将有助于决定调试问题的下一步。SSL握手失败的原因有很多。