У меня проблема с SSL в Jboss 6.1.0. Я использую CLIEN-CERT, чтобы ограничить определенное ограничение безопасности сертификатом клиента. Я настроил все необходимые места (web.xml, jboss-web.xml, jboss-loggin, server.xml, jboss-service
). Когда я запускаю сервер с JDK6, все работает нормально, но когда я запускаю сервер с JDK7 и пытаюсь получить доступ к ограничению безопасности, я получаю ошибку Exception, получая SSL-атрибуты: java.net.SocketException: SSL Cert handshake timeout
. Вот StackTrace:Jboss AS 6.1.0 Тайм-аут установления связи с Java7
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 при первом входе в этот цикл и считывание байтов из окна браузера InputStream открывается и запрашивает мой клиентский сертификат, но с JDK7 этого не происходит , ошибка вызывается в конце метода, потому что клиент не отправил свой сертификат. Фактически это окно браузера открывается позже, и когда я отправляю свой сертификат, ничего не происходит, потому что квитирование завершено с результатом false
. Я пытался с Firefox, IE, Chrome, и результат был таким же. Если кто-то может мне помочь или дать мне совет, это было бы здорово.
Не могли бы вы вспомнить, что было ошибкой? В моем случае проблема в том, что у меня есть фильтр SPRING, в котором я должен получить сертификат и сделать некоторую логику, и когда у меня есть эта ошибка, мой фильтр не работает (он не вызывается), я не знаю, почему .. –
В настоящее время у меня нет доступа к ноутбуку моей компании, чтобы вывести его из офиса на следующий день ... – m0tylan0ga