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: docs/messaging.md
+82-1Lines changed: 82 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ to every command.
39
39
40
40
## CoAP
41
41
42
-
CoAP adapter implements CoAP protocol using underlying UDP and according to [RFC 7252][rfc7252]. To send and receive messages over CoAP, you can use [CoAP CLI][coap-cli]. To set the add-on, please follow the installation instructions provided [here][coap-cli].
42
+
CoAP adapter implements CoAP protocol using underlying UDP and according to [RFC 7252][rfc7252]. To send and receive messages over CoAP, you can use [CoAP CLI][coap-cli]. To set the add-on, please follow the installation instructions provided [in this section][coap-cli].
43
43
44
44
Examples:
45
45
@@ -250,6 +250,87 @@ client = new Paho.MQTT.Client(loc.hostname, Number(loc.port), "clientId");
250
250
client.connect({ onSuccess: onConnect });
251
251
```
252
252
253
+
## mTLS Messaging
254
+
255
+
SuperMQ supports mutual TLS (mTLS) to enhance security by requiring both clients and servers to authenticate each other using certificates.
256
+
This ensures that only authorized clients can connect and communicate with the server.
257
+
It is designed to handle high-throughput environments.
258
+
Core components are modular, making it easy to plug in custom modules or replace existing ones. Extendable to add new IoT protocols, middleware, and features as needed.
259
+
260
+
### Certificate Setup
261
+
262
+
To enable mTLS, you'll need the following certificates:
263
+
264
+
-**CA Certificate (`ca.crt`)**: The Certificate Authority's certificate used to sign both server and client certificates.
265
+
-**Server Certificate (`server.crt`) and Private Key (`server.key`)**: Used by the server to authenticate itself to clients. These will be used by SuperMQ.
266
+
-**Client Certificate (`client.crt`) and Private Key (`client.key`)**: Used by the client to authenticate itself to the server.
267
+
268
+
Ensure that these certificates are properly generated and signed by a trusted CA.
269
+
270
+
### HTTP with mTLS
271
+
272
+
By default, HTTP messages can be sent without any encryption or certificate verification:
But with mTLS, clients must present their certificate during the TLS handshake. This ensures both server and client are authenticated using trusted certificates.
0 commit comments