[ https://issues.apache.org/jira/browse/CXF-6714?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Ludovic Garcia updated CXF-6714: -------------------------------- Description: We request HTTPS Webservices secured with SSL Double Authentication using cxf-rt-frontend-jaxws / cxf-rt-transports-http / cxf-rt-ws-security. Without any warning, one of our service (the webservice client) went down with only the following stack trace : {code} 11:21:22 ERROR o.apache.juli.logging.DirectJDKLog | | | | "Servlet.service()" pour la servlet jsp a généré une exception java.lang.StackOverflowError: null at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.getCertificateChain(SunX509KeyManagerImpl.java:150) ~[na:1.6] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] {code} And so on. I looked in the given class : {code:java} public X509Certificate[] getCertificateChain(String alias) { return keyManager.getCertificateChain(alias); } {code} At server-side, the issue is as if they never received the Client Certificate. Can you have a look please? Kind regards, Ludovic was: We request HTTPS Webservices secured with SSL Double Authentication using cxf-rt-frontend-jaxws / cxf-rt-transports-http / cxf-rt-ws-security. Without any warning, one of our service (the webservice client) went down with only the following stack trace : {code} 11:21:22 ERROR o.apache.juli.logging.DirectJDKLog | | | | "Servlet.service()" pour la servlet jsp a g<E9>n<E9>r<E9> une exception java.lang.StackOverflowError: null at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.getCertificateChain(SunX509KeyManagerImpl.java:150) ~[na:1.6] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] at org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] {code} And so on. I looked in the given class : {code:java} public X509Certificate[] getCertificateChain(String alias) { return keyManager.getCertificateChain(alias); } {code} At server-side, the issue is as if they never received the Client Certificate. Can you have a look please? Kind regards, Ludovic > java.lang.StackOverflowError in AliasedX509ExtendedKeyManager > ------------------------------------------------------------- > > Key: CXF-6714 > URL: https://issues.apache.org/jira/browse/CXF-6714 > Project: CXF > Issue Type: Bug > Components: JAX-WS Runtime > Affects Versions: 2.7.11 > Environment: Linux 2.6.24.4 (Linux From Scratch) > java version "1.6.0_07" > tomcat 6.0.16 > Reporter: Ludovic Garcia > > We request HTTPS Webservices secured with SSL Double Authentication using > cxf-rt-frontend-jaxws / cxf-rt-transports-http / cxf-rt-ws-security. > Without any warning, one of our service (the webservice client) went down > with only the following stack trace : > {code} > 11:21:22 ERROR o.apache.juli.logging.DirectJDKLog | | | | > "Servlet.service()" pour la servlet jsp a généré une exception > java.lang.StackOverflowError: null > at > com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.getCertificateChain(SunX509KeyManagerImpl.java:150) > ~[na:1.6] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > at > org.apache.cxf.transport.https.AliasedX509ExtendedKeyManager.getCertificateChain(AliasedX509ExtendedKeyManager.java:92) > ~[cxf-rt-transports-http-2.7.11.jar:2.7.11] > {code} > And so on. > I looked in the given class : > {code:java} > public X509Certificate[] getCertificateChain(String alias) { > return keyManager.getCertificateChain(alias); > } > {code} > At server-side, the issue is as if they never received the Client Certificate. > Can you have a look please? > Kind regards, > Ludovic -- This message was sent by Atlassian JIRA (v6.3.4#6332)