Skip to content

microfast-ch/smoking-hivemq

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HiveMQ SMOKER Extension

This is a implementation of a HiveMQ extension to make the Broker a SMOKER (Secure MQTT Broker) using the MQTT 5 enhanced authentication and client-managed authorization. The implementation is based on the BSc Thesis "Client-managed anonymous authentication and authorization for MQTT" or "SMOKER" written by Lukas Läderach and Cédric von Allmen at the Bern University of Applied Sciences. The thesis was finished in January 2020. The resulting papers, which also serve as a basis for the implementation can be found here:

Run

Using local HiveMQ installation

  1. Clone this repository into a Java 13 maven project.

  2. Run mvn package goal from Maven to build the extension

  3. Move the file: "target/hivemq-smoker-{version}-distribution.zip" to the directory: "HIVEMQ_HOME/extensions"

  4. Unzip the file.

  5. Make sure that the user, which is running the broker process, has R/W access to the path configured in store.file.path config

  6. Start HiveMQ

  7. Connect to broker with TCP (port 1883) or websocket (port 8000 and context /mqtt)

Using docker

  1. Build docker container using docker build -t smoker .

  2. Run the container using docker run -d -p 8000:8000 -p 1883:1883 smoker

  3. Connect to broker with TCP (port 1883) or websocket (port 8000 and context /mqtt)

Development & Debug

To run and debug the extension locally you need to have a plain HiveMQ installation on your system.

  1. Make sure setting the correct path of your local HiveMQ installation to the hiveMQDir property in the pom.xml

  2. Make sure that the broker instance has R/W access to the path configured in store.file.path property in the smive.properties

  3. Run mvn clean install -P RunWithHiveMQ

  4. If you want to debug, you can attach the debugger to the process started by maven

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published