It may be that the certificate chain is being presented out-of-order. I've seen this a few times with self-signed certs - perhaps these vendors are having the same issue.
Lots of software (e.g. all major browsers AFAIK) deal with this by sorting the certificate chain before it gets to the Validator.
I wrote a blog post a while back about how to deal with this on Android, but the same code should work with openjdk.
See http://blog.chariotsolutions.com/2013/01/https-with-client-certificates-on.html