HTTPS Configuration

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

HTTPS Configuration

jwolski
I'm having a bit of trouble with HTTPS configuration in ActiveMQ 5.4.1. I've followed the Jetty SSL configuration instructions. When I add an HTTPS-based transport connector to the ActiveMQ configuration file, an exception is thrown on startup. I've enabled TRACE logging. The exception says that there's a NullPointerException thrown from the getKeyManagers method of the SslSocketConnector class. Looking at the source and javadocs, it doesn't appear that getInstance method of the KeyManagerFactory ever returns null, but maybe I'm just reading the docs/log file wrong.

Can anyone shed some light on this issue?

 Here's the stack trace of the first exception that's thrown:

2010-10-21 14:58:10,070 | DEBUG | starting org.eclipse.jetty.server.Server@1d532ae | org.eclipse.jetty.util.log | main
2010-10-21 14:58:10,070 | DEBUG | Starting SslSocketConnector@0.0.0.0:8443 | org.eclipse.jetty.util.log | main
2010-10-21 14:58:10,073 | WARN  | java.lang.NullPointerException | org.eclipse.jetty.util.log | main
2010-10-21 14:58:10,077 | DEBUG | EXCEPTION  | org.eclipse.jetty.util.log | main
java.lang.NullPointerException
        at org.eclipse.jetty.server.ssl.SslSocketConnector.getKeyManagers(SslSocketConnector.java:231)
        at org.eclipse.jetty.server.ssl.SslSocketConnector.createSSLContext(SslSocketConnector.java:206)
        at org.eclipse.jetty.server.ssl.SslSocketConnector.createFactory(SslSocketConnector.java:219)
        at org.eclipse.jetty.server.ssl.SslSocketConnector.newServerSocket(SslSocketConnector.java:466)
        at org.eclipse.jetty.server.bio.SocketConnector.open(SocketConnector.java:75)
        at org.eclipse.jetty.server.AbstractConnector.doStart(AbstractConnector.java:357)
        at org.eclipse.jetty.server.bio.SocketConnector.doStart(SocketConnector.java:147)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.eclipse.jetty.server.Server.doStart(Server.java:239)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:55)
        at org.apache.activemq.transport.http.HttpTransportServer.doStart(HttpTransportServer.java:119)
        at org.apache.activemq.transport.https.HttpsTransportServer.doStart(HttpsTransportServer.java:66)
        at org.apache.activemq.util.ServiceSupport.start(ServiceSupport.java:53)
        at org.apache.activemq.broker.TransportConnector.start(TransportConnector.java:240)
        at org.apache.activemq.broker.BrokerService.startTransportConnector(BrokerService.java:2122)
        at org.apache.activemq.broker.BrokerService.startAllConnectors(BrokerService.java:2069)
        at org.apache.activemq.broker.BrokerService.start(BrokerService.java:518)
        at org.apache.activemq.xbean.XBeanBrokerService.afterPropertiesSet(XBeanBrokerService.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeCustomInitMethod(AbstractAutowireCapableBeanFactory.java:1536)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
        at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
        at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291)
        at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
        at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288)
        at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:190)
        at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:574)
        at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895)
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:425)
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:64)
        at org.apache.xbean.spring.context.ResourceXmlApplicationContext.<init>(ResourceXmlApplicationContext.java:52)
        at org.apache.activemq.xbean.XBeanBrokerFactory.createApplicationContext(XBeanBrokerFactory.java:96)
        at org.apache.activemq.xbean.XBeanBrokerFactory.createBroker(XBeanBrokerFactory.java:52)
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:71)
        at org.apache.activemq.broker.BrokerFactory.createBroker(BrokerFactory.java:54)
        at org.apache.activemq.console.command.StartCommand.startBroker(StartCommand.java:115)
        at org.apache.activemq.console.command.StartCommand.runTask(StartCommand.java:74)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.runTask(ShellCommand.java:143)
        at org.apache.activemq.console.command.AbstractCommand.execute(AbstractCommand.java:57)
        at org.apache.activemq.console.command.ShellCommand.main(ShellCommand.java:85)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.activemq.console.Main.runTaskClass(Main.java:251)
        at org.apache.activemq.console.Main.main(Main.java:107)