X509 unsupported critical extension on mutual auth with Tomcat

Hello,

I have the following scenario.

I am running 2 webapps. One acts as a client (web front end), the other one as a server (web services).

The connection is using SSL with mutual auth.

The client presents its certificate, wich contains a critical extension wich is not supported by the (TrustManager?) server (Tomcat 4.1.28) and throws this:

handling exception: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: Certificate contains unsupported critical extensions: [2.5.29.32]

If I use some other certificate for the client role without this extension it works.

However, I MUST use this problematic certificate.

The question is: 縲hat can I do?

I have been reading about Custom TrustManagers, but I am not really sure.

It would be enough to provide a custom class (wich one?) that ignores this critical extension and goes on with the SSL handshake.

Any help is very welcome.

Mariano.

[993 byte] By [Coflera] at [2007-10-2 4:48:50]
# 1

I ended up coding my own provider wrapping around SunX509 TrustManager.

Tomcat has an undocummented connector property, truststoreAlgorithm, wich accepts a String. That's the name of the new algorithm of my custom Provider.

Resource were:

Java Security Architecture Guide.

Java Security Provider Guide.

Tomcat source code for undocummented attributes.

Cheers.

Mariano.

Coflera at 2007-7-16 0:53:30 > top of Java-index,Security,Java Secure Socket Extension (JSSE)...