title: Java ignore certificate validation
body: <p>I'm trying to create some sample Java projects that connect to a self-signed HTTPS server.  I can't seem to get Java to stop trying to validate the certificate.  I don't want to have to trust this certificate, I just want to ignore all certificate validation altogether; this server is inside my network and I want to be able to run some test apps without worrying about whether the certificate is valid.</p>
  
  <pre><code>java -Dcom.sun.net.ssl.checkRevocation=false HelloWorld
  org.apache.axis2.AxisFault: Connection has been shutdown: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed:  sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
  </code></pre>
  
  <p>The <strong>-Dcom.sun.net.ssl.checkRevocation=false</strong> didn't help.  I also tried adding the following code:</p>
  
  
  
  <pre><code>public static void DisableCertificateValidation() {
    TrustManager[] trustAllCerts = new TrustManager[]{
      new X509TrustManager() {
        public X509Certificate[] getAcceptedIssuers() { return null; }
        public void checkClientTrusted(X509Certificate[] certs, String authType) { }
        public void checkServerTrusted(X509Certificate[] certs, String authType) { }
      }
    };
    try {
      SSLContext sc = SSLContext.getInstance("SSL");
      sc.init(null, trustAllCerts, new java.security.SecureRandom());
      HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
    } catch (Exception e) {
    }
  }
  </code></pre>
  
  <p>But still have the same issue.  What's going on here?</p>