I have a java swing client that connects to a tomcat server which connects to a database server. I need to encrypt the data that I am sending to the tomcat server but I am having issues trying to get it to work. My code to call the servlet is as follows:


Java Code:
 String url = "https://" + DEFAULT_HOST + "/BRServer/Server";

        try {
            HttpClient client = new HttpClient();
            PostMethod method = new PostMethod(url);

            String stringXmlDoc = xmlDoc.asXML();

            method.addParameter("xmlDoc", stringXmlDoc);    // send the XML document as a string to the server

            int statusCode = client.executeMethod(method);

            if (statusCode != -1) {
                String responseBody = IOUtils.toString(method.getResponseBodyAsStream());
                xmlDoc = DocumentHelper.parseText(responseBody);
            }

        } catch (Exception e) {
            e.printStackTrace();
        }
I created a keystore and placed on the server. However, when I go to run the client, I get the following error:

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(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(S SLSocketImpl.java:1611)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Ha ndshaker.java:187)
at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Ha ndshaker.java:181)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.serv erCertificate(ClientHandshaker.java:1035)
at com.sun.net.ssl.internal.ssl.ClientHandshaker.proc essMessage(ClientHandshaker.java:124)
at com.sun.net.ssl.internal.ssl.Handshaker.processLoo p(Handshaker.java:516)
at com.sun.net.ssl.internal.ssl.Handshaker.process_re cord(Handshaker.java:454)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRec ord(SSLSocketImpl.java:884)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.perform InitialHandshake(SSLSocketImpl.java:1112)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRe cord(SSLSocketImpl.java:623)
at com.sun.net.ssl.internal.ssl.AppOutputStream.write (AppOutputStream.java:59)
at java.io.BufferedOutputStream.flushBuffer(BufferedO utputStream.java:65)
at java.io.BufferedOutputStream.write(BufferedOutputS tream.java:104)
at java.io.FilterOutputStream.write(FilterOutputStrea m.java:80)
at org.apache.commons.httpclient.methods.ByteArrayReq uestEntity.writeRequest(ByteArrayRequestEntity.jav a:89)
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)........

I'm kind of at a loss on how to fix this. The client is a stand alone swing program that is installed on multiple user's machines.
Thanks in advance for the help.