feed requiring client cert (2 way ssl)

javajoe220's picture

Hi,

 

I'm trying to connect to a feed that requires a client cert. 

I set the various javax.net.ssl.trustStore / keyStore  parameters with JAVA_OPTS  on the command line before starting the server but I still get the following error when I attempt to connect:

 

org.apache.axis2.AxisFault: Access to Java class "javax.net.ssl.SSLHandshakeException" is prohibited. (javajoe220-testL#63)
at org.apache.axis2.AxisFault.makeFault(AxisFault.java:431)
at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:186)
at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:210)
at org.wso2.javascript.rhino.JavaScriptReceiver.invokeBusinessLogic(JavaScriptReceiver.java:193)
at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40)
at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:96)
at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:148)
at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275)
at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:121)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.wso2.mashup.transport.ServiceUIFilter.doFilter(ServiceUIFilter.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:619)
Caused by: org.mozilla.javascript.EvaluatorException: Access to Java class "javax.net.ssl.SSLHandshakeException" is prohibited. (javajoe220-test#63)
at org.wso2.javascript.rhino.JavaScriptErrorReporter.runtimeError(JavaScriptErrorReporter.java:49)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1030)
at org.mozilla.javascript.Context.reportRuntimeError(Context.java:1086)
at org.mozilla.javascript.Context.reportRuntimeError1(Context.java:1049)
at org.mozilla.javascript.JavaMembers.<init>(JavaMembers.java:71)
at org.mozilla.javascript.JavaMembers.lookupClass(JavaMembers.java:759)
at org.mozilla.javascript.NativeJavaObject.initMembers(NativeJavaObject.java:90)
at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:80)
at org.mozilla.javascript.NativeJavaObject.<init>(NativeJavaObject.java:70)
at org.mozilla.javascript.WrapFactory.wrapAsJavaObject(WrapFactory.java:149)
at org.mozilla.javascript.WrapFactory.wrap(WrapFactory.java:105)
at org.mozilla.javascript.ScriptRuntime.newCatchScope(ScriptRuntime.java:3021)
at org.mozilla.javascript.gen.c41._c2(javajoe220-ICDL:63)
at org.mozilla.javascript.gen.c41.call(javajoe220-ICDL)
at org.mozilla.javascript.optimizer.OptRuntime.callName0(OptRuntime.java:108)
at org.mozilla.javascript.gen.c41._c1(javajoe220-ICDL:26)
at org.mozilla.javascript.gen.c41.call(javajoe220-ICDL)
at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:393)
at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:2834)
at org.mozilla.javascript.gen.c41.call(javajoe220-ICDL)
at org.wso2.javascript.rhino.JavaScriptEngine.call(JavaScriptEngine.java:180)
... 26 more

 

What is the proper way to do this?

 

Thanks,

Ralph

ninkasi's picture

I too am looking for a

I too am looking for a solution to this. Has anyone figured this out yet? Thanks.
keith's picture

You need to import the certificate into the keystore

Hi, You need to import the certificate of the remote server into your own keystore in order to do this. Please refer http://wso2.org/project/mashup/1.5.1/docs/keystoremanagement.html for details on how you could do this. Assuming that a mashup thats under keith wants to access a feed over https then the certificate of the server needs to be imported to keiths keystore. You could do this by log in as keith into the mashup server and then importing the cert. Please let me know if you have any issues doing this, if so I will provide more details. Thanks, Keith. http://www.keith-chapman.org/
library project main code
Learn Cloud
Learn
Cloud

The WSO2 Application Server is a reliable application server that can host your enterprise web applications. The WSO2 Application Server as a Service is offered in StratosLive, the WSO2 Platform as a Service. This article explains how a simple web application can be developed and deployed from Carbon Studio to the WSO2 Application Server...

Latest Webinar
Different groups within an organization need to monitor different Key Performance Indicators (KPIs) - An operations team will be interested in the response times of business services and loads of each service,..
Thursday, February 9th 2012, 09.00 AM (PST)

Thursday, February 9th 2012, 10.00 AM (GMT)