Board enrollment, live

A Go backend and two simulated boards (C with libsodium, C++ with OpenSSL) talk through a real Mosquitto broker. Each lane is one program.

What you are watching
  1. A raw board connects anonymously and may only use its own private reply topic.
  2. It sends a public key; the backend answers with its own public key and a signature. No password is ever sent.
  3. Both sides mix the two public keys into the same secret and turn it into the broker password. Their fingerprints must match.
  4. The board logs in as its new identity (FN) and can only use its own FN topics.
Waiting for the programs to start… (they pause for a countdown first, so the logs can be followed)
connecting…
time
Board (C, libsodium)
Backend (Go)
Board (C++, OpenSSL)