JBoss doesn't send SSL client certificates with CXF in EAP 5

Solution Verified - Updated -

Issue

We're having problems with invoking HTTPS services exposed by an SSL Apache reverse proxy from an application (it's JASIG CAS) running on JBoss 5.0.1.
Apache requires JBoss to authenticate itself with a client certificate and that's the part causing troubles. (Note JBoss is the client here)

Apache logs show "SSL3_GET_CLIENT_CERTIFICATE:peer did not return a certificate No CAs known to server for verification?"

JBoss is trying to connect to it.

JBoss logs show

Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
     at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
     at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1694)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:939)
     at com.sun.net.ssl.internal.ssl.SSLSocketImpl.waitForClose(SSLSocketImpl.java:1467)
     at com.sun.net.ssl.internal.ssl.HandshakeOutStream.flush(HandshakeOutStream.java:103)

...

Which makes sense because Apache hadn't seen the client certificate

Environment

  • JBoss Enterprise Application Platform (EAP) 5.0.1 (CXF is a Tech preview in this release)

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.