java - 收到致命警报 : handshake_failure with Tomcat

标签 java tomcat6 sslhandshakeexception

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

error:javax.net.ssl.SSLHandshakeException: Received fatal alert: 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) org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) java.lang.Thread.run(Thread.java:619) Blockquote

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

我真的厌倦了这个问题。请帮忙解决这个问题。

最佳答案

如果现在仍然遇到同样的问题,请升级到java 1.6.0_32。遇到同样的问题,升级后解决了。

关于java - 收到致命警报 : handshake_failure with Tomcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7844860/

相关文章:

java - HTTP基本用户认证 : "Authorization" header not accepted (case-sensitive)

java - 相同的代码,通过 Lotus Domino 发送电子邮件的不同行为

java - 无法使用 spring 和 hibernate 5.0 执行空间查询

java - hibernate bean 生成器

java - JNI 错误 : accessed stale weak global reference

java - 使用 BASIC 身份验证集中保护所有 tomcat webapps

java - 不使用 Eclipse 进行重构

url - 如何从 Grails 应用程序的 URL 中删除应用程序名称?

java - 如何解决受信任证书上的 SSLHandshakeException?

Java SSL 握手异常 "no cipher suites in common"