繁体   English   中英

收到致命警报:Tomcat的握手握手失败

[英]Received fatal alert: handshake_failure with Tomcat

我在Tomcat中使用授权的ssl连接有问题。 我已经开发了使用证书连接到外部服务器的类。 当我在命令行中运行它时,它工作正常。 但是,当我从托管在Tomcat中的JSP页面调用它时,会引发如下异常:

错误:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)com.sun.net.ssl.internal.ssl.Alerts .getSSLException(Alerts.java:136)com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1694)com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java :939)com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1120)com.sun.net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1147)com.sun .net.ssl.internal.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1131)sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:434)sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection .connect(AbstractDelegateHttpsURLConnection.java:166)sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1049)sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl。 java:234)myPakage.myClass.method(myClass.java:90)org.apache.jsp.jsp.test.tst_jsp._jspService(tst_jsp.java:66)org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase。 java:70)javax.servlet.http.HttpServlet.service(HttpServlet.java:717)org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)org.apache.jasper.servlet.JspServlet.serviceJspFile( JspServlet.java:313)org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)javax.servlet.http.HttpServlet.service(HttpServlet.java:717)org.apache.catalina.core.ApplicationFilterChain。 internalDoFilter(ApplicationFilterChain.java:290)org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)org.apache.catalina。 core.StandardContextValve.invoke(StandardContextValve.java:191)org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:554)org.apache.catalina.core.StandardHostValve.invoke( StandardHostValve.java:127)org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)org.apache.catalina.connector。 CoyoteAdapter.service(CoyoteAdapter.java:298)org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)org.apache.coyote.http11.Http11Protocol $ Http11ConnectionHandler.process(Http11Protocol.java:588)组织。 apache.tomcat.util.net.JIoEndpoint $ Worker.run(JIoEndpoint.java:489)java.lang.Thread.run(Thread.java:619)引用

我已经将外部服务器的公共证书导入到Java home中的cacerts中。 Java版本:6.0_21 Tomcat版本:6.0.32

这个问题我真的很累。 请帮助解决此问题。

如果现在仍然存在相同的问题,请升级到Java 1.6.0_32。 遇到相同的问题,升级后已解决。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM