Sunday, October 11, 2015

RabbitMQ - WSO2 ESB 4.9.0 Secure Communication

Hi All, I'm going to explain some major question you may get during thinking about SSL communication between RabbitMQ message broker and WSO2 ESB 4.9.0

1) Does ESB 4.9.0 support for the SSL communication with RabbitMQ?

WSO2 ESB 4.9.0 is supported for the SSL communication with RabbitMQ. To enable SSL support in RabbitMQ, you need to configure the transport listener with the parameters required to enable SSL as well as the parameters that provide information related to keystores and truststores. You can find more details on ESB 4.9.0 official document. 

2) How to specify SSL protocol versions supported by RabbitMQ in WSO2 ESB 4.9.0?

We can define the SSL protocol version from the following parameter.
<parameter name="rabbitmq.connection.ssl.version"locked="false">SSL</parameter>
The parameters which you can specify are mentioned in this Document which describes SSL Context Alogrithms

3) Which truststore need to be used to store RabbitMQ certificate?

We can use any truststore (client-trustore.jks etc.)  but we have to define the truststore path in the transport reciver configuration by using the following parameter.
<parameter name="rabbitmq.connection.ssl.truststore.location"locked="false">ssl/rabbitstore</parameter>

4) Do WSO2 ESB 4.9.0 support for the cipher suite setup according to the RabbitMQ?
At the movement ESB 4.9.0 is not supported for this feature.

So guys, These are my little findings on this topic and I'm now working on creating an SSL communication with RabbitMQ 3.3.4 and WSO2 ESB 4.9.0.

I'm hoping  to see you with a working project in my next post.