Quantcast

Password error for https endpoint connection

classic Classic list List threaded Threaded
19 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Password error for https endpoint connection

Micky Santomax
Hi all,

I've defined an http endpoint by this code :
        this.from("jetty:https://localhost:8193/SSLTest/")
             .process(new ProcessorLog(this.getClass()));

When I install my application in Tomcat 6.0.13 it throws this exception :

2008-03-18 20:05:42.998::WARN:  EXCEPTION
java.security.UnrecoverableKeyException: Password must not be null
        at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:107)
        at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
        at java.security.KeyStore.getKey(KeyStore.java:763)
        at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113)
        at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48)
        at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:239)
        at org.mortbay.jetty.security.SslSocketConnector.createFactory(SslSocketConnector.java:202)
        at org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:407)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
        at org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
        at org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
        at org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
        at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
        at it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2008-03-18 20:05:42.012::WARN:  failed SslSocketConnector@0.0.0.0:8193
java.io.IOException: Could not create JsseListener: java.security.UnrecoverableKeyException: Password must not be null
        at org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:446)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
        at org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
        at org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
        at org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
        at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
        at it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
ERROR [it.unibas.springfreesbee.ContextStartup - contextInitialized] - org.apache.camel.RuntimeCamelException: java.io.IOException: Could not create JsseListener: java.security.UnrecoverableKeyException: Password must not be null

I'm sure that password i set in .keystore file.

Can anyone help me ? Thanks
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
just a thought, possibly reviewing the steps outlined in jetty https
configuration may help:
http://jetty.mortbay.org/jetty5/faq/faq_s_400-Security_t_ssl.html

On 25/03/2008, Micky Santomax <[hidden email]> wrote:

>
>  Hi all,
>
>  I've defined an http endpoint by this code :
>         this.from("jetty:https://localhost:8193/SSLTest/")
>              .process(new ProcessorLog(this.getClass()));
>
>  When I install my application in Tomcat 6.0.13 it throws this exception :
>
>  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  java.security.UnrecoverableKeyException: Password must not be null
>         at
>  sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:107)
>         at
>  sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
>         at java.security.KeyStore.getKey(KeyStore.java:763)
>         at
>  com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113)
>         at
>  com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48)
>         at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:239)
>         at
>  org.mortbay.jetty.security.SslSocketConnector.createFactory(SslSocketConnector.java:202)
>         at
>  org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:407)
>         at
>  org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
>         at
>  org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
>         at
>  org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
>         at
>  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>         at
>  org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
>         at
>  org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
>         at
>  org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
>         at
>  org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
>         at
>  org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
>         at
>  org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
>         at
>  org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
>         at
>  org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
>         at
>  org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
>         at
>  org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
>         at
>  org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
>         at
>  org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>         at
>  org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
>         at
>  org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
>         at
>  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
>         at
>  it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
>         at
>  org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
>  org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
>         at
>  org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>         at
>  org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>         at
>  org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>         at
>  org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
>         at
>  org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
>         at
>  org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
>  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>  org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
>         at
>  com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at
>  com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at
>  org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
>         at
>  org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
>         at
>  org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
>  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at
>  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
>  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at
>  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at
>  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>         at
>  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at
>  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>         at
>  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
>  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
>         at
>  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at
>  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
>         at
>  org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:619)
>  2008-03-18 20:05:42.012::WARN:  failed SslSocketConnector@0.0.0.0:8193
>  java.io.IOException: Could not create JsseListener:
>  java.security.UnrecoverableKeyException: Password must not be null
>         at
>  org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:446)
>         at
>  org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
>         at
>  org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
>         at
>  org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
>         at
>  org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
>         at
>  org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
>         at
>  org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
>         at
>  org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
>         at
>  org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
>         at
>  org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
>         at
>  org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
>         at
>  org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
>         at
>  org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
>         at
>  org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
>         at
>  org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
>         at
>  org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
>         at
>  org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
>         at
>  org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
>         at
>  org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
>         at
>  org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
>         at
>  org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
>         at
>  it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
>         at
>  org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
>         at
>  org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
>         at
>  org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
>         at
>  org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
>         at
>  org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
>         at
>  org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
>         at
>  org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
>         at
>  org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at
>  sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at
>  sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:597)
>         at
>  org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
>         at
>  com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
>         at
>  com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
>         at
>  org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
>         at
>  org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
>         at
>  org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>         at
>  org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>         at
>  org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>         at
>  org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
>         at
>  org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>         at
>  org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
>         at
>  org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>         at
>  org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
>         at
>  org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at
>  org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
>         at
>  org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>         at
>  org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
>         at
>  org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>         at java.lang.Thread.run(Thread.java:619)
>  ERROR [it.unibas.springfreesbee.ContextStartup - contextInitialized] -
>  org.apache.camel.RuntimeCamelException: java.io.IOException: Could not
>  create JsseListener: java.security.UnrecoverableKeyException: Password must
>  not be null
>
>  I'm sure that password i set in .keystore file.
>
>  Can anyone help me ? Thanks
>
> --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16128569.html
>  Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Hamlet84
In reply to this post by Micky Santomax
I have the same problem


Micky Santomax wrote
Hi all,

I've defined an http endpoint by this code :
        this.from("jetty:https://localhost:8193/SSLTest/")
             .process(new ProcessorLog(this.getClass()));

When I install my application in Tomcat 6.0.13 it throws this exception :

2008-03-18 20:05:42.998::WARN:  EXCEPTION
java.security.UnrecoverableKeyException: Password must not be null
        at sun.security.provider.JavaKeyStore.engineGetKey(JavaKeyStore.java:107)
        at sun.security.provider.JavaKeyStore$JKS.engineGetKey(JavaKeyStore.java:38)
        at java.security.KeyStore.getKey(KeyStore.java:763)
        at com.sun.net.ssl.internal.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:113)
        at com.sun.net.ssl.internal.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:48)
        at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:239)
        at org.mortbay.jetty.security.SslSocketConnector.createFactory(SslSocketConnector.java:202)
        at org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:407)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
        at org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
        at org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
        at org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
        at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
        at it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
2008-03-18 20:05:42.012::WARN:  failed SslSocketConnector@0.0.0.0:8193
java.io.IOException: Could not create JsseListener: java.security.UnrecoverableKeyException: Password must not be null
        at org.mortbay.jetty.security.SslSocketConnector.newServerSocket(SslSocketConnector.java:446)
        at org.mortbay.jetty.bio.SocketConnector.open(SocketConnector.java:73)
        at org.mortbay.jetty.AbstractConnector.doStart(AbstractConnector.java:272)
        at org.mortbay.jetty.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39)
        at org.apache.camel.component.jetty.JettyHttpComponent.connect(JettyHttpComponent.java:98)
        at org.apache.camel.component.http.HttpEndpoint.connect(HttpEndpoint.java:80)
        at org.apache.camel.component.http.HttpConsumer.doStart(HttpConsumer.java:50)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.util.ServiceHelper.startServices(ServiceHelper.java:64)
        at org.apache.camel.impl.DefaultCamelContext.startRoutes(DefaultCamelContext.java:461)
        at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:435)
        at org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:140)
        at org.apache.camel.impl.ServiceSupport.start(ServiceSupport.java:51)
        at org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:96)
        at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:77)
        at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
        at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:75)
        at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:246)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:355)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:91)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:75)
        at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:65)
        at it.unibas.springfreesbee.ContextStartup.contextInitialized(ContextStartup.java:43)
        at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3827)
        at org.apache.catalina.core.StandardContext.start(StandardContext.java:4334)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
        at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626)
        at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:511)
        at org.apache.catalina.startup.HostConfig.check(HostConfig.java:1220)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:297)
        at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
        at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
        at org.apache.catalina.manager.ManagerServlet.check(ManagerServlet.java:1458)
        at org.apache.catalina.manager.ManagerServlet.deploy(ManagerServlet.java:820)
        at org.apache.catalina.manager.ManagerServlet.doGet(ManagerServlet.java:354)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:525)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
        at java.lang.Thread.run(Thread.java:619)
ERROR [it.unibas.springfreesbee.ContextStartup - contextInitialized] - org.apache.camel.RuntimeCamelException: java.io.IOException: Could not create JsseListener: java.security.UnrecoverableKeyException: Password must not be null

I'm sure that password i set in .keystore file.

Can anyone help me ? Thanks
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by Gary Tully
Thanks for reply

I've follow all step of jetty ssl configuration but the problem isn't changed
After various test I've see that the problem is in routing because if in RouteBuilder class I set this :

JettyHttpEndpoint jettyEndpoint = context.getEndpoint("jetty:https://localhost:8196/SSLTest/", JettyHttpEndpoint.class);

this.from(jettyEndpoint);

The endpoint was created and when I access to it with browser I receive a request of accept the certificate. If I accept it I receive the following error :

2008-03-26 18:56:14.933::WARN:  handle failed
java.lang.NullPointerException
        at org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
        at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
        at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

Else if I set this :

JettyHttpEndpoint jettyEndpoint = context.getEndpoint("jetty:https://localhost:8196/SSLTest/", JettyHttpEndpoint.class);

this.from(jettyEndpoint).process(new MyProcessor()).to("jetty:http://localhost:8195/SSLTest2/");

or

this.from(jettyEndpoint).to("jetty:http://localhost:8195/SSLTest2/");

I receive the previous error :

2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  java.security.UnrecoverableKeyException: Password must not be null
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
I think you should open a jira[1] for the password null issue. I think
it is a bug.

2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  java.security.UnrecoverableKeyException: Password must not be null

to create a jetty https endpoint that uses a password to access its
keystore I needed to modify the JettyHttpComponent as follows:

Index: src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
===================================================================
--- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (revision 641579)
+++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (working copy)
@@ -89,7 +89,10 @@
             if (connectorRef == null) {
                 Connector connector;
                 if ("https".equals(endpoint.getProtocol())) {
-                    connector = new SslSocketConnector();
+                    SslSocketConnector sslConnector = new SslSocketConnector();
+                    sslConnector.setPassword("");
+                    sslConnector.setKeyPassword("");
+                    connector = sslConnector;
                 } else {
                     connector = new SelectChannelConnector();
                 }


This allowed the SslSocketConnector to make use of the jetty system
properties for passwords: -Djetty.ssl.password=... and
-Djetty.ssl.keypassword=...
In the absence of the system properties, there is a prompt to StdIn.


I was able to use a browser to access the following route:

                 Processor proc = new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        exchange.getOut(true).setBody("<b>Hello World</b>");
                    }
                };
                from("jetty:https://localhost:8080/hello").process(proc);


[1] http://issues.apache.org/activemq/browse/CAMEL

On 26/03/2008, Micky Santomax <[hidden email]> wrote:

>
>  Thanks for reply
>
>  I've follow all step of jetty ssl configuration but the problem isn't
>  changed
>  After various test I've see that the problem is in routing because if in
>  RouteBuilder class I set this :
>
>  JettyHttpEndpoint jettyEndpoint =
>  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  JettyHttpEndpoint.class);
>
>  this.from(jettyEndpoint);
>
>  The endpoint was created and when I access to it with browser I receive a
>  request of accept the certificate. If I accept it I receive the following
>  error :
>
>  2008-03-26 18:56:14.933::WARN:  handle failed
>  java.lang.NullPointerException
>         at
>  org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
>         at
>  org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
>         at
>  org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
>         at
>  org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
>  Else if I set this :
>
>  JettyHttpEndpoint jettyEndpoint =
>  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  JettyHttpEndpoint.class);
>
>  this.from(jettyEndpoint).process(new
>  MyProcessor()).to("jetty:http://localhost:8195/SSLTest2/");
>
>  or
>
>  this.from(jettyEndpoint).to("jetty:http://localhost:8195/SSLTest2/");
>
>  I receive the previous error :
>
>
>  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  java.security.UnrecoverableKeyException: Password must not be null
>
> --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16309438.html
>
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

jstrachan
Awesome patch, thanks Gary! :)

I've applied your patch to trunk. I made a minor change to use a
property on the JettyHttpComponent for the sslPassword and
sslKeyPassword so folks can customize then in Java / Spring if they
want; but have defaulted them to "".

I tried copying the HttpRouteTest to be HttpsRouteTest and changing
http:// to https:// and the test just hangs though - I guess something
else needs to be done to enable Jetty to support https? (Just
wondering how to get a test case for https working).


On 27/03/2008, Gary Tully <[hidden email]> wrote:

> I think you should open a jira[1] for the password null issue. I think
>  it is a bug.
>
>
>  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  >  java.security.UnrecoverableKeyException: Password must not be null
>
>
> to create a jetty https endpoint that uses a password to access its
>  keystore I needed to modify the JettyHttpComponent as follows:
>
>  Index: src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  ===================================================================
>  --- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>      (revision 641579)
>  +++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>      (working copy)
>  @@ -89,7 +89,10 @@
>              if (connectorRef == null) {
>                  Connector connector;
>                  if ("https".equals(endpoint.getProtocol())) {
>  -                    connector = new SslSocketConnector();
>  +                    SslSocketConnector sslConnector = new SslSocketConnector();
>  +                    sslConnector.setPassword("");
>  +                    sslConnector.setKeyPassword("");
>  +                    connector = sslConnector;
>                  } else {
>                      connector = new SelectChannelConnector();
>                  }
>
>
>  This allowed the SslSocketConnector to make use of the jetty system
>  properties for passwords: -Djetty.ssl.password=... and
>  -Djetty.ssl.keypassword=...
>  In the absence of the system properties, there is a prompt to StdIn.
>
>
>  I was able to use a browser to access the following route:
>
>                  Processor proc = new Processor() {
>                     public void process(Exchange exchange) throws Exception {
>                         exchange.getOut(true).setBody("<b>Hello World</b>");
>                     }
>                 };
>                 from("jetty:https://localhost:8080/hello").process(proc);
>
>
>  [1] http://issues.apache.org/activemq/browse/CAMEL
>
>
>  On 26/03/2008, Micky Santomax <[hidden email]> wrote:
>  >
>  >  Thanks for reply
>  >
>  >  I've follow all step of jetty ssl configuration but the problem isn't
>  >  changed
>  >  After various test I've see that the problem is in routing because if in
>  >  RouteBuilder class I set this :
>  >
>  >  JettyHttpEndpoint jettyEndpoint =
>  >  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  >  JettyHttpEndpoint.class);
>  >
>  >  this.from(jettyEndpoint);
>  >
>  >  The endpoint was created and when I access to it with browser I receive a
>  >  request of accept the certificate. If I accept it I receive the following
>  >  error :
>  >
>  >  2008-03-26 18:56:14.933::WARN:  handle failed
>  >  java.lang.NullPointerException
>  >         at
>  >  org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
>  >         at
>  >  org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
>  >         at
>  >  org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
>  >         at
>  >  org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>  >
>  >  Else if I set this :
>  >
>  >  JettyHttpEndpoint jettyEndpoint =
>  >  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  >  JettyHttpEndpoint.class);
>  >
>  >  this.from(jettyEndpoint).process(new
>  >  MyProcessor()).to("jetty:http://localhost:8195/SSLTest2/");
>  >
>  >  or
>  >
>  >  this.from(jettyEndpoint).to("jetty:http://localhost:8195/SSLTest2/");
>  >
>  >  I receive the previous error :
>  >
>  >
>  >  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  >  java.security.UnrecoverableKeyException: Password must not be null
>  >
>  > --
>  >  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16309438.html
>  >
>  > Sent from the Camel - Users mailing list archive at Nabble.com.
>  >
>  >
>


--
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
Thanks for the quick application.

I did the same thing with HttpRouteTest and got it to work a bit. see
attachment. (cced u directly as list will probably drop attachment.)

I did not see the hang, but that may be the prompt to console asking
for a password in your case.

It seems as if there is no https component, but jetty:https does work.

The crux of a unit test is using default jdk jsse certs or generating
them on the fly. Also the jetty component uses commons http client
which has its own take on configuration.

A round trip requires both HttpClient and Jetty config and for the
pure http: invoke, raw jdk jsse config. (it may be possible to have
them all use default jsse stuff for the test, don't know for sure.)
The attached test case should help a bit though. If there is a jira I
can attach it.



On 27/03/2008, James Strachan <[hidden email]> wrote:

> Awesome patch, thanks Gary! :)
>
>  I've applied your patch to trunk. I made a minor change to use a
>  property on the JettyHttpComponent for the sslPassword and
>  sslKeyPassword so folks can customize then in Java / Spring if they
>  want; but have defaulted them to "".
>
>  I tried copying the HttpRouteTest to be HttpsRouteTest and changing
>  http:// to https:// and the test just hangs though - I guess something
>  else needs to be done to enable Jetty to support https? (Just
>  wondering how to get a test case for https working).
>
>
>
>  On 27/03/2008, Gary Tully <[hidden email]> wrote:
>  > I think you should open a jira[1] for the password null issue. I think
>  >  it is a bug.
>  >
>  >
>  >  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  >  >  java.security.UnrecoverableKeyException: Password must not be null
>  >
>  >
>  > to create a jetty https endpoint that uses a password to access its
>  >  keystore I needed to modify the JettyHttpComponent as follows:
>  >
>  >  Index: src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  >  ===================================================================
>  >  --- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  >      (revision 641579)
>  >  +++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  >      (working copy)
>  >  @@ -89,7 +89,10 @@
>  >              if (connectorRef == null) {
>  >                  Connector connector;
>  >                  if ("https".equals(endpoint.getProtocol())) {
>  >  -                    connector = new SslSocketConnector();
>  >  +                    SslSocketConnector sslConnector = new SslSocketConnector();
>  >  +                    sslConnector.setPassword("");
>  >  +                    sslConnector.setKeyPassword("");
>  >  +                    connector = sslConnector;
>  >                  } else {
>  >                      connector = new SelectChannelConnector();
>  >                  }
>  >
>  >
>  >  This allowed the SslSocketConnector to make use of the jetty system
>  >  properties for passwords: -Djetty.ssl.password=... and
>  >  -Djetty.ssl.keypassword=...
>  >  In the absence of the system properties, there is a prompt to StdIn.
>  >
>  >
>  >  I was able to use a browser to access the following route:
>  >
>  >                  Processor proc = new Processor() {
>  >                     public void process(Exchange exchange) throws Exception {
>  >                         exchange.getOut(true).setBody("<b>Hello World</b>");
>  >                     }
>  >                 };
>  >                 from("jetty:https://localhost:8080/hello").process(proc);
>  >
>  >
>  >  [1] http://issues.apache.org/activemq/browse/CAMEL
>  >
>  >
>  >  On 26/03/2008, Micky Santomax <[hidden email]> wrote:
>  >  >
>  >  >  Thanks for reply
>  >  >
>  >  >  I've follow all step of jetty ssl configuration but the problem isn't
>  >  >  changed
>  >  >  After various test I've see that the problem is in routing because if in
>  >  >  RouteBuilder class I set this :
>  >  >
>  >  >  JettyHttpEndpoint jettyEndpoint =
>  >  >  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  >  >  JettyHttpEndpoint.class);
>  >  >
>  >  >  this.from(jettyEndpoint);
>  >  >
>  >  >  The endpoint was created and when I access to it with browser I receive a
>  >  >  request of accept the certificate. If I accept it I receive the following
>  >  >  error :
>  >  >
>  >  >  2008-03-26 18:56:14.933::WARN:  handle failed
>  >  >  java.lang.NullPointerException
>  >  >         at
>  >  >  org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
>  >  >         at
>  >  >  org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
>  >  >         at
>  >  >  org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
>  >  >         at
>  >  >  org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>  >  >
>  >  >  Else if I set this :
>  >  >
>  >  >  JettyHttpEndpoint jettyEndpoint =
>  >  >  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  >  >  JettyHttpEndpoint.class);
>  >  >
>  >  >  this.from(jettyEndpoint).process(new
>  >  >  MyProcessor()).to("jetty:http://localhost:8195/SSLTest2/");
>  >  >
>  >  >  or
>  >  >
>  >  >  this.from(jettyEndpoint).to("jetty:http://localhost:8195/SSLTest2/");
>  >  >
>  >  >  I receive the previous error :
>  >  >
>  >  >
>  >  >  2008-03-18 20:05:42.998::WARN:  EXCEPTION
>  >  >  >  java.security.UnrecoverableKeyException: Password must not be null
>  >  >
>  >  > --
>  >  >  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16309438.html
>  >  >
>  >  > Sent from the Camel - Users mailing list archive at Nabble.com.
>  >  >
>  >  >
>  >
>
>
>
> --
>  James
>  -------
>  http://macstrac.blogspot.com/
>
>  Open Source Integration
>  http://open.iona.com
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by Gary Tully
Thanks Gary for your suggestion

What type of container do you use ? I have tomcat and I've test the following route that you suggest, but the error persist : "java.security.UnrecoverableKeyException: Password must not be null"

I was able to use a browser to access the following route:

                 Processor proc = new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        exchange.getOut(true).setBody("Hello World");
                    }
                };
                from("jetty:https://localhost:8080/hello").process(proc);
I have no modified the JettyHttpComponent, but set the SSLConnector and endpoint as follow :

JettyHttpEndpoint jettyEndpoint = context.getEndpoint("jetty:https://localhost:8196/SSLTest/", JettyHttpEndpoint.class);

SslSocketConnector ssl = new SslSocketConnector();
ssl.setPort(8196);
ssl.setMaxIdleTime(30000);
ssl.setPassword("passwordString");
ssl.setKeyPassword("passwordString");
ssl.setTrustPassword("passwordString");

BoundedThreadPool btp = new BoundedThreadPool();
btp.setMaxThreads(250);
btp.setMinThreads(10);
btp.setLowThreads(10);
btp.start();

JettyHttpComponent componentJetty = (JettyHttpComponent) context.getComponent("jetty");
Server serverJetty = componentJetty.getServer();

serverJetty.addConnector(ssl);
serverJetty.setThreadPool(btp);

ssl.start();

SSLTest sslTest = new SSLTest(jettyEndpoint); // RouteBuilder
context.addRoutes(sslTest);

to create a jetty https endpoint that uses a password to access its
keystore I needed to modify the JettyHttpComponent as follows:

Index: src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
===================================================================
--- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (revision 641579)
+++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
     (working copy)
@@ -89,7 +89,10 @@
             if (connectorRef == null) {
                 Connector connector;
                 if ("https".equals(endpoint.getProtocol())) {
-                    connector = new SslSocketConnector();
+                    SslSocketConnector sslConnector = new SslSocketConnector();
+                    sslConnector.setPassword("");
+                    sslConnector.setKeyPassword("");
+                    connector = sslConnector;
                 } else {
                     connector = new SelectChannelConnector();
                 }


This allowed the SslSocketConnector to make use of the jetty system
properties for passwords: -Djetty.ssl.password=... and
-Djetty.ssl.keypassword=...
In the absence of the system properties, there is a prompt to StdIn.
PS How can I open a JIRA ?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

davsclaus
Administrator
Micky

JIRA: http://activemq.apache.org/camel/support.html
Click the Issue Tracker link. You do need to signup to create an account to create a new ticket in JIRA.

After you have logged in there is a button "Create new issue" on the red top bar.
Claus Ibsen
-----------------
FuseSource
Email: cibsen@fusesource.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.blogspot.com/
Author of Camel in Action: http://www.manning.com/ibsen/
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
In reply to this post by Micky Santomax
Micky,
In terms of container, I am not using any. I was using just the JVM
based on one of the jetty unit tests.
A https variant of
https://svn.apache.org/repos/asf/activemq/camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/HttpRouteTest.java

The changes to have a camel-jetty endpoint pick up a key store
password are now on trunk but you will need to build trunk your self
to pick them up. I need to research how best to manage certs for the
tests, before submitting the full test case that shows route round
trip with jetty:https


On 27/03/2008, Micky Santomax <[hidden email]> wrote:

>
>  Thanks Gary for your suggestion
>
>  What type of container do you use ? I have tomcat and I've test the
>  following route that you suggest, but the error persist :
>  "java.security.UnrecoverableKeyException: Password must not be null"
>
>
>
>  > I was able to use a browser to access the following route:
>  >
>  >                  Processor proc = new Processor() {
>  >                     public void process(Exchange exchange) throws
>  > Exception {
>  >                         exchange.getOut(true).setBody("Hello World");
>  >                     }
>  >                 };
>  >                 from("jetty:https://localhost:8080/hello").process(proc);
>  >
>
>
> I have no modified the JettyHttpComponent, but set the SSLConnector and
>  endpoint as follow :
>
>  JettyHttpEndpoint jettyEndpoint =
>  context.getEndpoint("jetty:https://localhost:8196/SSLTest/",
>  JettyHttpEndpoint.class);
>
>  SslSocketConnector ssl = new SslSocketConnector();
>  ssl.setPort(8196);
>  ssl.setMaxIdleTime(30000);
>  ssl.setPassword("passwordString");
>  ssl.setKeyPassword("passwordString");
>  ssl.setTrustPassword("passwordString");
>
>  BoundedThreadPool btp = new BoundedThreadPool();
>  btp.setMaxThreads(250);
>  btp.setMinThreads(10);
>  btp.setLowThreads(10);
>  btp.start();
>
>  JettyHttpComponent componentJetty = (JettyHttpComponent)
>  context.getComponent("jetty");
>  Server serverJetty = componentJetty.getServer();
>
>  serverJetty.addConnector(ssl);
>  serverJetty.setThreadPool(btp);
>
>  ssl.start();
>
>  SSLTest sslTest = new SSLTest(jettyEndpoint); // RouteBuilder
>  context.addRoutes(sslTest);
>
>
>
>  > to create a jetty https endpoint that uses a password to access its
>  > keystore I needed to modify the JettyHttpComponent as follows:
>  >
>  > Index:
>  > src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  > ===================================================================
>  > --- src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  >      (revision 641579)
>  > +++ src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java
>  >      (working copy)
>  > @@ -89,7 +89,10 @@
>  >              if (connectorRef == null) {
>  >                  Connector connector;
>  >                  if ("https".equals(endpoint.getProtocol())) {
>  > -                    connector = new SslSocketConnector();
>  > +                    SslSocketConnector sslConnector = new
>  > SslSocketConnector();
>  > +                    sslConnector.setPassword("");
>  > +                    sslConnector.setKeyPassword("");
>  > +                    connector = sslConnector;
>  >                  } else {
>  >                      connector = new SelectChannelConnector();
>  >                  }
>  >
>  >
>  > This allowed the SslSocketConnector to make use of the jetty system
>  > properties for passwords: -Djetty.ssl.password=... and
>  > -Djetty.ssl.keypassword=...
>  > In the absence of the system properties, there is a prompt to StdIn.
>  >
>
>
> PS How can I open a JIRA ?
>  --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16332255.html
>  Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by davsclaus
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by Gary Tully
Gary Tully wrote
I was able to use a browser to access the following route:

                 Processor proc = new Processor() {
                    public void process(Exchange exchange) throws Exception {
                        exchange.getOut(true).setBody("Hello World");
                    }
                };
                from("jetty:https://localhost:8080/hello").process(proc);
Sorry Gary, I have run the HttpRouteTest with https protocol but the error is the same :

    [junit] ------------- Standard Error -----------------
    [junit] 2008-03-28 16:21:32.264::INFO:  Logging to STDERR via org.mortbay.log.StdErrLog
    [junit] 2008-03-28 16:21:32.264::INFO:  jetty-6.1.8
    [junit] 2008-03-28 16:21:32.571::INFO:  Started SslSocketConnector@0.0.0.0:55631
    [junit] 2008-03-28 16:21:32.657::WARN:  EXCEPTION
    [junit] java.security.UnrecoverableKeyException: Password must not be null
             ...

Why when you were able to use a browser to access the route, password exception wasn't thrown ?
Have you run this jetty test with https protocol ?
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
Hi Micky,

>  Why when you were able to use a browser to access the route, password
>  exception wasn't thrown ?

are you using the latest trunk?
can you verify that the changes identified @
http://fisheye6.cenqua.com/browse/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java?r1=614080&r2=641800
are in your checkout.

With these you should be able to configure a password for the endpoint
via a system property or on the command line when prompted.

>  Have you run this jetty test with https protocol ?
yes :-(

Early next week I will work on submitting the test case with a key store etc.

On 28/03/2008, Micky Santomax <[hidden email]> wrote:

>
>
>  Gary Tully wrote:
>  >
>  > I was able to use a browser to access the following route:
>  >
>  >                  Processor proc = new Processor() {
>  >                     public void process(Exchange exchange) throws
>  > Exception {
>
> >                         exchange.getOut(true).setBody("Hello World");
>
> >                     }
>  >                 };
>  >                 from("jetty:https://localhost:8080/hello").process(proc);
>  >
>
>
> Sorry Gary, I have run the HttpRouteTest with https protocol but the error
>  is the same :
>
>     [junit] ------------- Standard Error -----------------
>     [junit] 2008-03-28 16:21:32.264::INFO:  Logging to STDERR via
>  org.mortbay.log.StdErrLog
>     [junit] 2008-03-28 16:21:32.264::INFO:  jetty-6.1.8
>     [junit] 2008-03-28 16:21:32.571::INFO:  Started
>  SslSocketConnector@0.0.0.0:55631
>     [junit] 2008-03-28 16:21:32.657::WARN:  EXCEPTION
>     [junit] java.security.UnrecoverableKeyException: Password must not be
>  null
>              ...
>
>  Why when you were able to use a browser to access the route, password
>  exception wasn't thrown ?
>  Have you run this jetty test with https protocol ?
>
> --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16354776.html
>
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
Thanks for patch Gary

> are you using the latest trunk?
> can you verify that the changes identified @
> http://fisheye6.cenqua.com/browse/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java?r1=614080&r2=641800
> are in your checkout.

I'm using last trunk. In installation phase there aren't problems, but when I send a soap message to the endpoint, the following exception is thrown :

2008-04-01 13:41:26.010::WARN:  handle failed
java.lang.NullPointerException
        at org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
        at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
        at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
        at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
Hi Micky,
It looks like jetty is not properly configured or there are two
instances of jetty.
Can you try to exercise your camel route outside of tomcat first, in a
standalone jvm.

Also, it may be good to attach a testcase and/or your tomcat config to
the jira you raised.

One thing that seems strange to me is the use of jetty (a servlet
engine) inside tomcat (another servlet engine).
Am I missing something?

At the moment, the camel-jetty component requires jetty but it would
make sense that it could be configured to deploy its servlet to
tomcat.

Gary.

On 01/04/2008, Micky Santomax <[hidden email]> wrote:

>
>  Thanks for patch Gary
>
>
>  > are you using the latest trunk?
>  > can you verify that the changes identified @
>  > http://fisheye6.cenqua.com/browse/activemq/camel/trunk/components/camel-jetty/src/main/java/org/apache/camel/component/jetty/JettyHttpComponent.java?r1=614080&r2=641800
>  > are in your checkout.
>
>
> I'm using last trunk. In installation phase there aren't problems, but when
>  I send a soap message to the endpoint, the following exception is thrown :
>
>  2008-04-01 13:41:26.010::WARN:  handle failed
>
> java.lang.NullPointerException
>         at
>  org.mortbay.thread.BoundedThreadPool.isLowOnThreads(BoundedThreadPool.java:216)
>         at
>  org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:218)
>         at
>  org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:620)
>         at
>  org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
>
> --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16418451.html
>
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
Gary Tully wrote
Hi Micky,
It looks like jetty is not properly configured or there are two
instances of jetty.
How can I verify this ?

Gary Tully wrote
Can you try to exercise your camel route outside of tomcat first, in a
standalone jvm.
I run my personalized HttpRouteTest with https protocol. It is attached in Jira :
https://issues.apache.org/activemq/browse/CAMEL-407

Gary Tully wrote
Also, it may be good to attach a testcase and/or your tomcat config to
the jira you raised.
Tomcat is in default configuration

Gary Tully wrote
One thing that seems strange to me is the use of jetty (a servlet
engine) inside tomcat (another servlet engine).
Am I missing something?

At the moment, the camel-jetty component requires jetty but it would
make sense that it could be configured to deploy its servlet to
tomcat.
I prefer to use Tomcat as external container for Apache Camel instead of Apache Servicemix, because I want to distribute my application for all standard container as Tomcat, JBoss, GlassFish or whatever.
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Gary Tully
On 02/04/2008, Micky Santomax <[hidden email]> wrote:

>
>
>  Gary Tully wrote:
>  >
>  > Hi Micky,
>  > It looks like jetty is not properly configured or there are two
>  > instances of jetty.
>  >
>
>  How can I verify this ?
>
If you can get it into a debugger, put a break point in
org.mortbay.jetty.Server constructors or enable full logging for
org.mortbay.jetty.Server class. It logs in the doStart method. Logging
for jetty? see: http://jetty.mortbay.org/jetty5/tut/logging.html

>
>  Gary Tully wrote:
>  >
>  > Can you try to exercise your camel route outside of tomcat first, in a
>  > standalone jvm.
>  >
>
>  I run my personalized HttpRouteTest with https protocol. It is attached in
>  Jira :
>  https://issues.apache.org/activemq/browse/CAMEL-407
>
thanks. I added some comments to the jira, but it is mostly background info
https://issues.apache.org/activemq/browse/CAMEL-407?focusedCommentId=41965#action_41965


>
>
> Gary Tully wrote:
>  >
>  > Also, it may be good to attach a testcase and/or your tomcat config to
>  > the jira you raised.
>  >
>
>  Tomcat is in default configuration

ok.

>
>
>
> Gary Tully wrote:
>  >
>  > One thing that seems strange to me is the use of jetty (a servlet
>  > engine) inside tomcat (another servlet engine).
>  > Am I missing something?
>  >
>  > At the moment, the camel-jetty component requires jetty but it would
>  > make sense that it could be configured to deploy its servlet to
>  > tomcat.
>  >
>
>  I prefer to use Tomcat as external container for Apache Camel instead of
>  Apache Servicemix, because I want to distribute my application for all
>  standard container as Tomcat, JBoss, GlassFish or whatever.
>  --
>  View this message in context: http://www.nabble.com/Password-error-for-https-endpoint-connection-tp16128569s22882p16446680.html
>  Sent from the Camel - Users mailing list archive at Nabble.com.
>
>
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by Micky Santomax
Resolved, there was another piece of code developed by my friend that set a BoundedThreadPool. Removed it and all works fine !

:-)

Many thanks Gary for help

For James, I think is a good solution to set getter and setter methods for SslSocketConnector in JettyHttpComponent with which one can set (for example) the keystore path or anything else. File with this patch is in JettyHttpComponent.java posted on JIRA : https://issues.apache.org/activemq/browse/CAMEL-407

Note : there are errors also with cxf https endpoint. The discussion is on :
http://www.nabble.com/ServiceConstructionException-error-for-https-CXF-endpoint-td16448076s22882.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Password error for https endpoint connection

Micky Santomax
In reply to this post by Gary Tully
Sorry Gary,

I have experienced that if I send an http message to https endpoint, on server side is thrown exception, but on client side is returned status 200

How can I return the exception to the client ?
Loading...