Excellent news that it works.
On Thu, Sep 4, 2014 at 11:30 AM, clever <191008...@qq.com> wrote: > Hi Jimmi: > > > Actually, it's my fault , I used a wrong protocol "ssl" instead of > "mqtt+ssl" in Activemq configuration. > > > you can call my Gang, Liu is my family name. In China, we always put the > family name as the first name, which opposite with you. > > > Anyway, Thanks a lot. > > > GangLiu > ------------------ 原始邮件 ------------------ > 发件人: "Jimmi Dyson";<jimmidy...@gmail.com>; > 发送时间: 2014年9月3日(星期三) 下午4:27 > 收件人: "users"<users@camel.apache.org>; > > 主题: Re: How to Enable SSL on Camel MQTT component > > > > Hi Liu - would you mind sharing what the problem/solution was to help > others that may hit it in future? > > Thanks, > Jimmi > > > On 3 September 2014 04:11, liu gang <clevers...@gmail.com> wrote: > > > OK, it works now, thanks you all > > > > > > 2014-09-03 9:19 GMT+08:00 clever <191008...@qq.com>: > > > > > Hi Jimmi: > > > > > > > > > Thank you very much. I'll check your example and try again. > > > > > > > > > Thanks. > > > > > > > > > > > > > > > ------------------ 原始邮件 ------------------ > > > 发件人: "Jimmi Dyson";<jimmidy...@gmail.com>; > > > 发送时间: 2014年9月2日(星期二) 晚上10:21 > > > 收件人: "users"<users@camel.apache.org>; > > > > > > 主题: Re: How to Enable SSL on Camel MQTT component > > > > > > > > > > > > Hi, > > > > > > Is the ActiveMQ (I'm assuming you're using ActiveMQ!) MQTT transport > > > connector configured to listen on 61617? Are you sure that's not a > > non-MQTT > > > (perhaps SSL-configured Openwire) transport connector on 61617? FYI > there > > > is a IANA port reserved (8883) for MQTT over SSL, although of course > you > > > can use whatever port you want. > > > > > > Make sure you've set > > > "-Djavax.net.ssl.trustStore=<PATH_TO_TRUSTSTORE> > > > -Djavax.net.ssl.trustStorePassword=<TRUSTSTORE_PASSWORD>" > > > correctly if you're using a self-signed server certificate or your own > CA > > > for issuing the server certificate. If you're using a public CA then > this > > > shouldn't be necessary. > > > > > > I've pushed an example with some tests including ActiveMQ > SSL-configured > > > test with self-signed cert to > > > https://github.com/jimmidyson/camel-examples/tree/master/activemq-mqtt > . > > > > > > Jimmi > > > > > > > > > On 2 September 2014 12:04, Charles Moulliard <ch0...@gmail.com> wrote: > > > > > > > Hi, > > > > > > > > I think that debugging will be required as you get a message type = 0 > > > (see > > > > code here : > > > > > > > > > > > > > > https://github.com/fusesource/mqtt-client/blob/master/mqtt-client/src/main/java/org/fusesource/mqtt/client/CallbackConnection.java#L335 > > > > ) > > > > As you have configured your ActiveMQ Transport connector to use MQTT > + > > > SSL, > > > > I assume that it has been configured like that ? > > > > http://rijware.com/securing-mqtt-on-apache-activemq/ > > > > > > > > Regards, > > > > > > > > > > > > > > > > On Tue, Sep 2, 2014 at 10:57 AM, clever <191008...@qq.com> wrote: > > > > > > > > > I saw the page of http://camel.apache.org/mqtt.html said mqtt > > > component > > > > > supports to use ssl connection. but didn't mention how to enable > it. > > > > > > > > > > > > > > > I tried to change the protocol to ssl, and also set the system > > > > properties: > > > > > > > > > > > > > > > > > > > > javax.net.ssl.keyStore/javax.net.ssl.keyStorePassword/javax.net.ssl.TrustStore > > > > > > > > > > > > > > > Besides, I also tried to set a customized SSLContext to > > > MQTTConfiguration > > > > > . both of them don't work. > > > > > > > > > > > > > > > The error looks like: > > > > > Exception in thread "main" > > > org.apache.camel.FailedToCreateRouteException: > > > > > Failed to create route route1: > > > > > Route(route1)[[From[mqtt:bar?host=ssl://localhost:61617]] ->... > > because > > > > of > > > > > Failed to resolve endpoint: > > > mqtt://bar?host=ssl%3A%2F%2Flocalhost%3A61617 > > > > > due to: Could not connect. Received unexpected command: 0 > > > > > at > > > > > > > > > > > > > > > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:180) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.startRoute(DefaultCamelContext.java:780) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.startRouteDefinitions(DefaultCamelContext.java:2068) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1816) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1683) > > > > > at > > > > > > org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1651) > > > > > at > > > > > > > org.apache.activemq.book.ch3.TestCamelMQTT.main(TestCamelMQTT.java:70) > > > > > Caused by: org.apache.camel.ResolveEndpointFailedException: Failed > to > > > > > resolve endpoint: mqtt://bar?host=ssl%3A%2F%2Flocalhost%3A61617 due > > to: > > > > > Could not connect. Received unexpected command: 0 > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultCamelContext.getEndpoint(DefaultCamelContext.java:534) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.util.CamelContextHelper.getMandatoryEndpoint(CamelContextHelper.java:71) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.model.RouteDefinition.resolveEndpoint(RouteDefinition.java:190) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:106) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultRouteContext.resolveEndpoint(DefaultRouteContext.java:112) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.model.FromDefinition.resolveEndpoint(FromDefinition.java:72) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.impl.DefaultRouteContext.getEndpoint(DefaultRouteContext.java:88) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:888) > > > > > at > > > > > > > > > > > > > > > org.apache.camel.model.RouteDefinition.addRoutes(RouteDefinition.java:175) > > > > > ... 7 more > > > > > Caused by: java.io.IOException: Could not connect. Received > > unexpected > > > > > command: 0 > > > > > at > > > > > > > > > > > > > > > org.fusesource.mqtt.client.CallbackConnection$LoginHandler$1.onTransportCommand(CallbackConnection.java:338) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.transport.TcpTransport.drainInbound(TcpTransport.java:713) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.transport.SslTransport.handshake(SslTransport.java:452) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.transport.SslTransport.drainInbound(SslTransport.java:274) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.transport.TcpTransport$6.run(TcpTransport.java:592) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.internal.NioDispatchSource$3.run(NioDispatchSource.java:209) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.internal.SerialDispatchQueue.run(SerialDispatchQueue.java:100) > > > > > at > > > > > > > > > > > > > > > org.fusesource.hawtdispatch.internal.pool.SimpleThread.run(SimpleThread.java:77) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I tried the way on a plain Java App by using > > > ActiveMQSslConnectionFactory > > > > > to connect to it, it works to read message from/write message to > > > > Activemq. > > > > > > > > > > > > > > > I used Activemq 5.10 with ssl transport enabled as Server side. > > > > > > > > > > > > > > > I appreciate if anybody can give me some hints. > > > > > > > > > > > > > > > Thanks in advance. > > > > > > > > > > > > > > > > > > > > -- > > > > Charles Moulliard > > > > Apache Committer / Architect @RedHat > > > > Twitter : @cmoulliard | Blog : http://cmoulliard.github.io > > > > > > > > > > > > > > > -- > > Best Regards > > GangLiu > > Mail: clevers...@gmail.com > > > -- Charles Moulliard Apache Committer / Architect @RedHat Twitter : @cmoulliard | Blog : http://cmoulliard.github.io