Hi,

if you inspect the log you'll see:

PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException: unable to
find valid certification path to requested target

which is typical when you use a self signed certificate in a dev
environment.
2 possibilities:
- import the certificate
- use insecure SSL (I guess it was already available in HTMLUnit 1.14):
<groovy>
step.context.webClient.useInsecureSSL = true
</groovy>

(perhaps should WebTest offer a config option for this?)

Cheers,
Marc.
-- 
Blog: http://mguillem.wordpress.com


Hesteric Roman - Together SK wrote:
> Hi there!
> 
>       I test my application based on Tomcat via SSL problem less. But
> when I try to test the same application using APR [Apache Portable
> Runtime], I cannot login in server and I get Exception. Any Ideas? Non
> SSL tests are OK regardless of using APR on Tomcat ...
> 
> 
> Exception:
> Unexpected exception caught: javax.net.ssl.SSLHandshakeException
>         at
> com.canoo.webtest.steps.StepUtil.handleException(StepUtil.java:113)
>         at com.canoo.webtest.steps.Step.handleException(Step.java:378)
>         at com.canoo.webtest.steps.Step.execute(Step.java:109)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.steps.AbstractStepContainer.executeContainedStep(Abstr
> actStepContainer.java:72)
>         at
> com.canoo.webtest.steps.AbstractStepContainer.executeContainedSteps(Abst
> ractStepContainer.java:80)
>         at
> com.canoo.webtest.steps.control.IfStep.doExecute(IfStep.java:165)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav
> a:43)
>         at
> com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3
> 1)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:206)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
> ckExecutor.java:38)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>         at
> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
> ckExecutor.java:38)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut
> or.java:41)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Caused by: 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 com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unkno
> wn Source)
>         at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(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
> org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Ht
> tpConnection.java:828)
>         at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon
> nectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManag
> er.java:1565)
>         at
> org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase
> .java:2116)
>         at
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java
> :1096)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe
> thodDirector.java:398)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho
> dDirector.java:171)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 97)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 46)
>         at
> com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne
> ction.java:121)
>         at
> com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection
> (WebClient.java:1500)
>         at
> com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1
> 456)
>         at
> com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355)
>         at
> com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:421)
>         at
> com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja
> va:69)
>         at
> com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac
> tTargetAction.java:66)
>         at
> com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:16
> 0)
>         at
> com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT
> argetAction.java:72)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         ... 67 more
> Caused by: 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.validator.PKIXValidator.doBuild(Unknown Source)
>         at sun.security.validator.PKIXValidator.engineValidate(Unknown
> Source)
>         at sun.security.validator.Validator.validate(Unknown Source)
>         at
> com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unk
> nown Source)
>         at
> com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unk
> nown Source)
>         ... 95 more
> Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
> 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)
>         ... 100 more
> --- Nested Exception ---
> 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 com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.fatal(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.fatalSE(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.serverCertificate(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.ClientHandshaker.processMessage(Unknown
> Source)
>         at com.sun.net.ssl.internal.ssl.Handshaker.processLoop(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.Handshaker.process_record(Unknown Source)
>         at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(Unknown
> Source)
>         at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(Unkno
> wn Source)
>         at
> com.sun.net.ssl.internal.ssl.SSLSocketImpl.writeRecord(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
> org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(Ht
> tpConnection.java:828)
>         at
> org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpCon
> nectionAdapter.flushRequestOutputStream(MultiThreadedHttpConnectionManag
> er.java:1565)
>         at
> org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase
> .java:2116)
>         at
> org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java
> :1096)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMe
> thodDirector.java:398)
>         at
> org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMetho
> dDirector.java:171)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 97)
>         at
> org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:3
> 46)
>         at
> com.gargoylesoftware.htmlunit.HttpWebConnection.getResponse(HttpWebConne
> ction.java:121)
>         at
> com.gargoylesoftware.htmlunit.WebClient.loadWebResponseFromWebConnection
> (WebClient.java:1500)
>         at
> com.gargoylesoftware.htmlunit.WebClient.loadWebResponse(WebClient.java:1
> 456)
>         at
> com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:355)
>         at
> com.gargoylesoftware.htmlunit.WebClient.getPage(WebClient.java:421)
>         at
> com.canoo.webtest.steps.request.TargetHelper.getResponse(TargetHelper.ja
> va:69)
>         at
> com.canoo.webtest.steps.request.AbstractTargetAction.getResponse(Abstrac
> tTargetAction.java:66)
>         at
> com.canoo.webtest.steps.request.InvokePage.findTarget(InvokePage.java:16
> 0)
>         at
> com.canoo.webtest.steps.request.AbstractTargetAction.doExecute(AbstractT
> argetAction.java:72)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.steps.AbstractStepContainer.executeContainedStep(Abstr
> actStepContainer.java:72)
>         at
> com.canoo.webtest.steps.AbstractStepContainer.executeContainedSteps(Abst
> ractStepContainer.java:80)
>         at
> com.canoo.webtest.steps.control.IfStep.doExecute(IfStep.java:165)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.ant.TestStepSequence.executeSteps(TestStepSequence.jav
> a:43)
>         at
> com.canoo.webtest.ant.TestStepSequence.doExecute(TestStepSequence.java:3
> 1)
>         at com.canoo.webtest.steps.Step.execute(Step.java:101)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at
> com.canoo.webtest.ant.WebtestTask.execute(WebtestTask.java:206)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
> ckExecutor.java:38)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>         at
> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:105)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at
> org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleChe
> ckExecutor.java:38)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:416)
>         at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
>         at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown
> Source)
>         at java.lang.reflect.Method.invoke(Unknown Source)
>         at
> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:1
> 05)
>         at org.apache.tools.ant.Task.perform(Task.java:348)
>         at org.apache.tools.ant.Target.execute(Target.java:357)
>         at org.apache.tools.ant.Target.performTasks(Target.java:385)
>         at
> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1329)
>         at org.apache.tools.ant.Project.executeTarget(Project.java:1298)
>         at
> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecut
> or.java:41)
>         at
> org.apache.tools.ant.Project.executeTargets(Project.java:1181)
>         at org.apache.tools.ant.Main.runBuild(Main.java:698)
>         at org.apache.tools.ant.Main.startAnt(Main.java:199)
>         at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
>         at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
> Caused by: 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.validator.PKIXValidator.doBuild(Unknown Source)
>         at sun.security.validator.PKIXValidator.engineValidate(Unknown
> Source)
>         at sun.security.validator.Validator.validate(Unknown Source)
>         at
> com.sun.net.ssl.internal.ssl.X509TrustManagerImpl.checkServerTrusted(Unk
> nown Source)
>         at
> com.sun.net.ssl.internal.ssl.JsseX509TrustManager.checkServerTrusted(Unk
> nown Source)
>         ... 95 more
> Caused by: sun.security.provider.certpath.SunCertPathBuilderException:
> 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)
>         ... 100 more
> 
> 
> 
> Regards,
> Roman Hesteric
> _______________________________________________
> WebTest mailing list
> [email protected]
> http://lists.canoo.com/mailman/listinfo/webtest
> 


_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest

Reply via email to