You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+43-8Lines changed: 43 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -312,27 +312,62 @@ The SN client was tested using the Eclipse Paho MQTT-SN Gateway (https://github.
312
312
313
313
## Post-Quantum MQTT Support
314
314
315
-
Recently the OpenQuantumSafe project has integrated their fork of OpenSSL with the mosquito MQTT broker. You can now build wolfMQTT with wolfSSL and liboqs and use that to publish to the mosquito MQTT broker. Currently, wolfMQTT supports the `KYBER_LEVEL1` and `P256_KYBER_LEVEL1` groups and FALCON_LEVEL1 for authentication in TLS 1.3. This works on Linux.
315
+
Recently the OpenQuantumSafe project has integrated their fork of OpenSSL with the mosquito MQTT broker. You can now build wolfMQTT with wolfSSL and use that to publish to the mosquito MQTT broker. Currently, wolfMQTT supports the `ML_KEM_768` and `P384_ML_KEM_768` groups and ML-DSA-65 for authentication in TLS 1.3. This works on Linux.
316
316
317
317
### Getting Started with Post-Quantum Mosquito MQTT Broker and Subscriber
318
318
319
-
To get started, you can use the code from the following github pull request:
319
+
To get started, you can use the oqs-demos repo at https://github.com/open-quantum-safe/oqs-demos/ .
Follow all the instructions in README.md and USAGE.md. This allows you to create a docker image and a docker network. Then you will run a broker, a subscriber and a publisher. At the end the publisher will exit and the broker and subscriber will remain active.
322
322
323
-
Follow all the instructions in README.md and USAGE.md. This allows you to create a docker image and a docker network. Then you will run a broker, a subscriber and a publisher. At the end the publisher will exit and the broker and subscriber will remain active. You will need to re-activate the publisher docker instance and get the following files onto your local machine:
323
+
NOTE: Do not stop the broker and the subscriber instances.
324
+
325
+
You will need to get into a docker instance and get the following files onto your local machine:
324
326
325
327
- /test/cert/CA.crt
326
328
- /test/cert/publisher.crt
327
329
- /test/cert/publisher.key
328
330
329
-
NOTE: Do not stop the broker and the subscriber instances.
331
+
Once the publisher exits, the following command can be executed:
This opens a bash shell "inside" the docker container. You'll see the shell script for executing the publisher. This includes commands for generating the keys and certificates. Execute them and then use cat to display them and then copy and paste them into the wolfMQTT root directory.
336
+
337
+
### Building and Running Post-Quantum wolfMQTT Publisher
338
+
339
+
Build and install wolfSSL like this:
340
+
341
+
```
342
+
./autogen.sh (if obtained from github)
343
+
./configure --enable-dilithium --enable-mlkem
344
+
make all
345
+
make check
346
+
```
347
+
348
+
No special flags are required for building wolfMQTT. Simply do the following:
349
+
350
+
```
351
+
./autogen.sh (if obtained from github)
352
+
./configure
353
+
make all
354
+
make check
355
+
```
330
356
331
-
### Building and Running Post-Quantum wolfMQTT Publisher [DEPRECATED]
357
+
NOTE: No need to install wolfmqtt.
358
+
359
+
Since the broker and subscriber are still running, you can use `mqttclient` to publish using post-quantum algorithms in TLS 1.3 by doing the following:
Please see the following issue on Open Quantum Safe's oqs-demo repo:
365
+
Congratulations! You have just published an MQTT message using TLS 1.3 with ML-KEM-768 hybridized with ECDHE on the P-384 curve and ML-DSA-65 signature scheme. To use only ML-KEM-768, replace `P384_ML_KEM_768` with `ML_KEM_768`. Moreover, you have also shown interoperability with liboqs, liboqs-provider, openssl3 and mosquitto.
0 commit comments