Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-407

Password error for jetty:https endpoint

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.3.0
    • 1.3.0
    • camel-jetty
    • None

    Description

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

      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 have follow all steps of jetty ssl configuration, but the error is the same with both keytool and openssl applications.

      I think that problems are in routing because if I set only
      this.from("jetty:https://localhost:8193/SSLTest/");
      There aren't installation problems in Tomcat, when I access to the endpoint by browser it ask the acceptance of certificate. In this case there is another exception at runtime :

      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)

      Attachments

        1. JettyHttpComponent.java
          8 kB
          Micky Santomax
        2. TestHttpsRoute.java
          3 kB
          Micky Santomax

        Activity

          People

            Unassigned Unassigned
            mickysantomax Micky Santomax
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: