0
votes

By default, after installation Openfire Hazelcast plugin has

<ssl enabled="false"/>

in its config file. My attempt to enable it broke clustering and Openfire log said that

java.lang.IllegalStateException: SSL/TLS requires Hazelcast Enterprise Edition

Is it correct, so there is no way to make Hazelcast plugins using SSL for communications between Openfire nodes?

4

4 Answers

1
votes

Assuming that the Hazelcast Enterprise API is an extension of the Hazelcast API, it might be as simple as recompiling the Openfire Hazelcast plugin with a different Hazelcast dependency.

I did a quick test. The plugin compiles just fine after you swap the dependency on Hazelcast with a dependency on the 'enterprise' variant, like this (your version number might vary):

<dependencies>
    <dependency>
        <groupId>com.hazelcast</groupId>
        <artifactId>hazelcast-enterprise</artifactId>
        <version>3.10.6</version>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>hazelcast</id>
        <url>https://dl.bintray.com/hazelcast/release/</url>
  </repository>
</repositories>

Most of the Hazelcast configuration can be done in the XML file that's already accessible as a stand-alone file in Openfire. There's a good chance that you don't need any code modifications to get things configured in the way you want.

1
votes

I am not sure if this has been attempted before but you can try the following:

  1. download the enterprise version of Hazelcast and place the hazelcast jar in plugins folder of Openfire. I am not certain about the internals of Openfire but if there exists a maven configuration to import Hazelcast then modify that to load Hazelcast enterprise. Or if nothing else works then try renaming the Hazelcast jar from hazelcast-enterprise.jar to hazelcast.jar.
  2. modify conf/hazelcast-local-config.xml to configure license key and security details SSL.
  3. Fire away.

Here is a link to Openfire doc for Hazelcast plugin: https://www.igniterealtime.org/projects/openfire/plugins/2.4.0/hazelcast/readme.html#config

Please do update here if this works.

0
votes

Support for TLS/SSL is not included in the open source version of Hazelcast, as the error message indicates it is part of the Enterprise Edition feature set.

https://hazelcast.com/product-features/security-suite/

0
votes

Correct, purchasing the enterprise edition wouldn't help as far as I can tell. The Hazelcast (open source) plugin for Openfire is maintained by the folks at Ignite Realtime. They only support specific versions of Hazelcast as well.