Hi,

I'm in the process of developing an integration with Zimbra and attempting to use the SOAP classes already available within the Zimbra framework. The problem that I am having is that the calls to Zimbra admin/soap URL uses an SSL connection and my app is dying with the following stack trace. I'm pretty certain that it has to do with the fact that the certificate being served up is self-signed and the JRE that my client envirnoment doesn't know cert authority.

I've been researching this and find various docs that explain how to export the cert from IE and then to use the JRE\bin\keytool to import the certificate. I have been unsuccessful installing the cert into the default keystore because I'm unable to determine the default password for the keystore.

Does anybody have any experience with this and any recommendations?

Thanks,

John


javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
at com.sun.net.ssl.internal.ssl.Alerts.getSSLExceptio n(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(U nknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Un known Source)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Un known Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serv erCertificate(Unknown Source)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.proc essMessage(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoo p(Unknown Source)
at com.sun.net.ssl.internal.ssl.Handshaker.process_re cord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRec ord(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.perform InitialHandshake(Unknown Source)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRe cord(Unknown Source)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write (Unknown Source)
at java.io.BufferedOutputStream.flushBuffer(Unknown Source)
at java.io.BufferedOutputStream.flush(Unknown Source)
at java.io.FilterOutputStream.flush(Unknown Source)
at org.apache.commons.httpclient.methods.StringReques tEntity.writeRequest(StringRequestEntity.java:150)
at org.apache.commons.httpclient.methods.EntityEnclos ingMethod.writeRequestBody(EntityEnclosingMethod.j ava:495)
at org.apache.commons.httpclient.HttpMethodBase.write Request(HttpMethodBase.java:1973)
at org.apache.commons.httpclient.HttpMethodBase.execu te(HttpMethodBase.java:993)
at org.apache.commons.httpclient.HttpMethodDirector.e xecuteWithRetry(HttpMethodDirector.java:397)
at org.apache.commons.httpclient.HttpMethodDirector.e xecuteMethod(HttpMethodDirector.java:170)
at org.apache.commons.httpclient.HttpClient.executeMe thod(HttpClient.java:396)
at org.apache.commons.httpclient.HttpClient.executeMe thod(HttpClient.java:324)
at com.zimbra.soap.SoapHttpTransport.invoke(SoapHttpT ransport.java:192)
at com.zimbra.soap.SoapTransport.invoke(SoapTransport .java:168)
at com.zimbra.cs.client.soap.LmcSoapRequest.invoke(Lm cSoapRequest.java:131)
at src.java.com.ap.postoffice.Test1.main(Test1.java:3 6)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
at sun.security.validator.PKIXValidator.doBuild(Unkno wn Source)
at sun.security.validator.PKIXValidator.engineValidat e(Unknown Source)
at sun.security.validator.Validator.validate(Unknown Source)
at com.sun.net.ssl.internal.ssl.X509TrustManagerImpl. checkServerTrusted(Unknown Source)
at com.sun.net.ssl.internal.ssl.JsseX509TrustManager. checkServerTrusted(Unknown Source)
... 23 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderE xception: unable to find valid certification path to requested target
at sun.security.provider.certpath.SunCertPathBuilder. engineBuild(Unknown Source)
at java.security.cert.CertPathBuilder.build(Unknown Source)
... 28 more