title: How to allow self-signed SSL certificates in older version of rest-assured
body: <p>I <em>have to</em> work with old version (<strong>1.8.1</strong>) of rest-assured framework. And all my <code>post()</code> or <code>get()</code> requests called from rest-assured fails, because server I am using for tests has self-signed SSL certificate. </p>
  
  <p>I know that since version 2.2.0 this is quite easy to setup ssl connection to use <code>relaxedHTTPSValidation</code>, e.g.</p>
  
  <pre><code>given().relaxedHTTPSValidation().when().get("https://some_server.com")
  </code></pre>
  
  <p>I also found on rest-assured wiki how to deal with <a href="https://github.com/rest-assured/rest-assured/wiki/Usage#ssl" rel="nofollow noreferrer">SSL config</a>.</p>
  
  <p>But my question is is it possible in older version of rest-assured (1.8.1).</p>
  
  <p>Exception thrown is <code>SSLHandshakeException</code>.</p>
  
  <p>And here is the trace I got:</p>
  
  <pre><code>   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
         at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
         at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949)
         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302)
         at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296)
         at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1509)
         at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216)
         at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979)
         at sun.security.ssl.Handshaker.process_record(Handshaker.java:914)
         at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062)
         at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403)
         at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387)
         at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:543)
         at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:409)
         at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:177)
         at org.apache.http.impl.conn.ManagedClientConnectionImpl.open(ManagedClientConnectionImpl.java:304)
         at org.apache.http.impl.client.DefaultRequestDirector.tryConnect(DefaultRequestDirector.java:611)
         at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:446)
         at org.apache.http.impl.client.AbstractHttpClient.doExecute(AbstractHttpClient.java:882)
         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
         at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
         at org.apache.http.client.HttpClient$execute.call(Unknown Source)
         at com.jayway.restassured.internal.RequestSpecificationImpl$RestAssuredHttpBuilder.doRequest(RequestSpecificationImpl.groovy:1377)
         at com.jayway.restassured.internal.http.HTTPBuilder.post(HTTPBuilder.java:341)
         at com.jayway.restassured.internal.http.HTTPBuilder$post.call(Unknown Source)
         at com.jayway.restassured.internal.RequestSpecificationImpl.sendRequest(RequestSpecificationImpl.groovy:801)
         at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$sendRequest(RequestSpecificationImpl.groovy)
         at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$sendRequest.call(Unknown Source)
         at com.jayway.restassured.internal.filter.RootFilter.filter(RootFilter.groovy:30)
         at com.jayway.restassured.filter.Filter$filter.call(Unknown Source)
         at com.jayway.restassured.internal.filter.FilterContextImpl.next(FilterContextImpl.groovy:49)
         at com.jayway.restassured.filter.FilterContext$next.call(Unknown Source)
         at com.jayway.restassured.internal.RequestSpecificationImpl.invokeFilterChain(RequestSpecificationImpl.groovy:758)
         at com.jayway.restassured.internal.RequestSpecificationImpl$invokeFilterChain.callCurrent(Unknown Source)
         at com.jayway.restassured.internal.RequestSpecificationImpl.applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy:1142)
         at com.jayway.restassured.internal.RequestSpecificationImpl.this$2$applyPathParamsAndSendRequest(RequestSpecificationImpl.groovy)
         at com.jayway.restassured.internal.RequestSpecificationImpl$this$2$applyPathParamsAndSendRequest.callCurrent(Unknown Source)
         at com.jayway.restassured.internal.RequestSpecificationImpl.post(RequestSpecificationImpl.groovy:135)
         at com.ibm.datatools.webauto.framework.common.BaseWebTest.login(BaseWebTest.java:53)
         at com.ibm.datatools.webauto.dynamite.svt.ui.testcases.UDXTest.idaLogin(UDXTest.java:47)
         at com.ibm.datatools.webauto.dynamite.svt.ui.testcases.UDXTest.beforeClass(UDXTest.java:62)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
         at java.lang.reflect.Method.invoke(Method.java:498)
         at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
         at org.testng.internal.Invoker.invokeConfigurationMethod(Invoker.java:510)
         at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:211)
         at org.testng.internal.Invoker.invokeConfigurations(Invoker.java:138)
         at org.testng.internal.TestMethodWorker.invokeBeforeClassMethods(TestMethodWorker.java:170)
         at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:104)
         at org.testng.TestRunner.privateRun(TestRunner.java:774)
         at org.testng.TestRunner.run(TestRunner.java:624)
         at org.testng.SuiteRunner.runTest(SuiteRunner.java:359)
         at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:354)
         at org.testng.SuiteRunner.privateRun(SuiteRunner.java:312)
         at org.testng.SuiteRunner.run(SuiteRunner.java:261)
         at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
         at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
         at org.testng.TestNG.runSuitesSequentially(TestNG.java:1215)
         at org.testng.TestNG.runSuitesLocally(TestNG.java:1140)
         at org.testng.TestNG.run(TestNG.java:1048)
         at org.testng.TestNG.privateMain(TestNG.java:1355)
         at org.testng.TestNG.main(TestNG.java:1324)
  </code></pre>
  
  <p>Note: This is not duplicate of <a href="https://stackoverflow.com/questions/36352033/how-to-make-https-get-call-with-certificate-in-rest-assured-java">this</a> or <a href="https://stackoverflow.com/questions/37714696/not-able-to-connect-to-server-through-java-code-getting-javax-net-ssl-sslhandsh/37744314#37744314">this</a> question, because answers provided there regard newer version of rest-assured.</p>