Return-Path: Delivered-To: apmail-activemq-camel-dev-archive@locus.apache.org Received: (qmail 89945 invoked from network); 2 Apr 2008 18:45:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 2 Apr 2008 18:45:01 -0000 Received: (qmail 86202 invoked by uid 500); 2 Apr 2008 18:45:00 -0000 Delivered-To: apmail-activemq-camel-dev-archive@activemq.apache.org Received: (qmail 86182 invoked by uid 500); 2 Apr 2008 18:45:00 -0000 Mailing-List: contact camel-dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: camel-dev@activemq.apache.org Delivered-To: mailing list camel-dev@activemq.apache.org Received: (qmail 86173 invoked by uid 99); 2 Apr 2008 18:45:00 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Apr 2008 11:45:00 -0700 X-ASF-Spam-Status: No, hits=-1998.5 required=10.0 tests=ALL_TRUSTED,WEIRD_PORT X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Apr 2008 18:44:27 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id C3892234C0B1 for ; Wed, 2 Apr 2008 11:42:32 -0700 (PDT) Message-ID: <617586270.1207161752785.JavaMail.jira@brutus> Date: Wed, 2 Apr 2008 11:42:32 -0700 (PDT) From: "Micky Santomax (JIRA)" To: camel-dev@activemq.apache.org Subject: [jira] Updated: (CAMEL-407) Password error for jetty:https endpoint In-Reply-To: <626727214.1206701792615.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/CAMEL-407?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Micky Santomax updated CAMEL-407: --------------------------------- Attachment: JettyHttpComponent.java 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. If you want to consider this suggestion I have attached file with this patch > Password error for jetty:https endpoint > --------------------------------------- > > Key: CAMEL-407 > URL: https://issues.apache.org/activemq/browse/CAMEL-407 > Project: Apache Camel > Issue Type: Bug > Components: camel-jetty > Affects Versions: 1.3.0 > Reporter: Micky Santomax > Priority: Critical > Fix For: 1.3.0 > > Attachments: JettyHttpComponent.java, TestHttpsRoute.java > > > 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.(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.(ClassPathXmlApplicationContext.java:91) > at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:75) > at org.springframework.context.support.ClassPathXmlApplicationContext.(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.(ClassPathXmlApplicationContext.java:91) > at org.springframework.context.support.ClassPathXmlApplicationContext.(ClassPathXmlApplicationContext.java:75) > at org.springframework.context.support.ClassPathXmlApplicationContext.(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) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.