gpt4 book ai didi

java - Jboss AS 6.1.0 与 Java7 的握手超时

转载 作者:太空宇宙 更新时间:2023-11-03 13:39:56 26 4
gpt4 key购买 nike

我在 Jboss 6.1.0 中遇到 SSL 问题。我使用 CLIEN-CERT 来限制客户端证书的某些安全约束。我配置了所有需要的地方(web.xml、jboss-web.xml、jboss-loggin、server.xml、jboss-service)。当我使用 JDK6 启动服务器时,一切正常,但是当我使用 JDK7 启动服务器并尝试访问安全约束时,我收到错误 Exception getting SSL attributes: java.net.SocketException: SSL Cert handshake timeout .这是堆栈跟踪:

2014-10-16 17:39:10,184 WARN  [org.apache.coyote.http11.Http11Processor] (http-0.0.0.0-8443-2) Exception getting SSL attributes: java.net.SocketException: SSL Cert handshake timeout  
at org.apache.tomcat.util.net.jsse.JSSESupport.handShake(JSSESupport.java:178) [:6.1.0.Final]
at org.apache.tomcat.util.net.jsse.JSSESupport.getPeerCertificateChain(JSSESupport.java:138) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:1144) [:6.1.0.Final]
at org.apache.coyote.Request.action(Request.java:352) [:6.1.0.Final]
at org.apache.catalina.connector.Request.getCertificateChain(Request.java:1112) [:6.1.0.Final]
at org.apache.catalina.authenticator.SSLAuthenticator.authenticate(SSLAuthenticator.java:132) [:6.1.0.Final]
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:559) [:6.1.0.Final]
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.1.0.Final]
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:159) [:6.1.0.Final]
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.1.0.Final]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567) [:6.1.0.Final]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.1.0.Final]
at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:631) [:6.1.0.Final]
at org.jboss.web.rewrite.RewriteValve.invoke(RewriteValve.java:273) [:6.1.0.Final]
at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.1.0.Final]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.1.0.Final]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.1.0.Final]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.1.0.Final]
at java.lang.Thread.run(Thread.java:745) [:1.7.0_71]

当我切换 clientAuth="true""want" 时,它可以工作,但使用 "false" 并使用 CLIENT 访问安全约束-CERT 不适用于 JDK7。我尝试调试 JSSESupport.java 并看到在握手方法和 JDK6 中有 for 循环,当第一次进入该循环并从打开的 InputStream 浏览器窗口读取字节并请求我的客户端证书时,但是对于 JDK7,这不会发生,在方法结束时会抛出错误,因为客户端没有发送他的证书。实际上,此浏览器窗口稍后会打开,当我提交我的证书时,什么也没有发生,因为握手已完成,结果为 false。我尝试使用 Firefox、IE、Chrome,结果是一样的。如果有人可以帮助我或给我建议,那就太好了。

最佳答案

在我们的项目中,我们有来自 jboss 的类似错误,但我现在不记得确切的错误。在我们的例子中,我们跳过了它并且应用程序运行良好。

关于java - Jboss AS 6.1.0 与 Java7 的握手超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26840639/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com