title: Disable SSL connection in the given java code
body: <p>I am getting security certificate errors in the code below (<a href="http://harisupriyanto.blogspot.com/2013/10/using-htmlunit-for-login.html" rel="nofollow">source</a>). The exception is: </p>
  
  <blockquote>
    <p>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</p>
    
    <p>Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target.</p>
  </blockquote>
  
  <p>How do I disable the check for security certificates?</p>
  
  <pre><code>import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
  import com.gargoylesoftware.htmlunit.Page;
  import com.gargoylesoftware.htmlunit.WebClient;
  import com.gargoylesoftware.htmlunit.html.DomNode;
  import com.gargoylesoftware.htmlunit.html.HtmlElement;
  import com.gargoylesoftware.htmlunit.html.HtmlFileInput;
  import com.gargoylesoftware.htmlunit.html.HtmlForm;
  import com.gargoylesoftware.htmlunit.html.HtmlPage;
  import com.gargoylesoftware.htmlunit.html.HtmlPasswordInput;
  import com.gargoylesoftware.htmlunit.html.HtmlSubmitInput;
  import com.gargoylesoftware.htmlunit.html.HtmlTextInput;
  
  public class WebRobot {
    public static void login(String username, String password) {
      String loginUrl = "http://example.com";
      int loginFormNum = 1;
      String usernameInputName = "nameinput";
      String passwordInputName = "passinput";
      String submitLoginButtonValue = "Sign In";
  
      // create the HTMLUnit WebClient instance
      WebClient wclient = new WebClient();
  
      // configure WebClient based on your desired
      wclient.getOptions().setPrintContentOnFailingStatusCode(false);
      wclient.getOptions().setCssEnabled(false);
      wclient.getOptions().setThrowExceptionOnFailingStatusCode(false);
      wclient.getOptions().setThrowExceptionOnScriptError(false);
  
      try {
        // get the login page by connect to the URL 
        final HtmlPage loginPage = (HtmlPage)wclient.getPage(loginUrl);
  
        // get the login form by its form number. mine is 1 (form[1])
        final HtmlForm loginForm = loginPage.getForms().get(loginFormNum);
  
        // get the text input field by the name and set the value
        final HtmlTextInput txtUser = loginForm.getInputByName(usernameInputName);
        txtUser.setValueAttribute(username);
  
        // get the password input field by the name and set the value
        final HtmlPasswordInput txtpass = loginForm.getInputByName(passwordInputName);
        txtpass.setValueAttribute(password);
  
        // get the submit button by the text value
        final HtmlSubmitInput submitLogin = loginForm.getInputByValue(submitLoginButtonValue);
  
        // after we set the name &amp; password then we click the submit button
        // it will return a page (redirect or message alert or somethin, different sites different behaviour)
        // or it could throws an exception
        final HtmlPage returnPage = submitLogin.click();  
  
        // we can analyze the return page based on the body
        // ex: mine is check if its body contains less than 5 elements
        final HtmlElement returnBody = returnPage.getBody(); 
        if (returnBody==null || returnBody.getChildElementCount()&lt;5) {
          // bla.. bla.. bla..
        }
  
      } catch(FailingHttpStatusCodeException e) {
        e.printStackTrace();
      } catch(Exception e) {
        e.printStackTrace();
      }
    }
  }
  </code></pre>