🚧 Add CA and server cert management

This commit is contained in:
Jonas Bengtsson
2026-09-19 13:35:49 +02:00
parent 45de68f0b7
commit 111d6cc390
20 changed files with 1317 additions and 34 deletions
+12 -4
View File
@@ -133,17 +133,25 @@ Hardening done beyond the plan:
- [x] Broker reload (`mosquitto_signal config-reload` via sidecar)
- [x] mosquitto-control service (validate / atomic activate / signal /
broker health)
- [x] CA creation — internal CA (RSA 3072/4096, ECDSA P-256/P-384),
private keys encrypted at rest (AES-256-GCM)
- [x] Server certificate generation (CN, DNS/IP SANs, serverAuth EKU,
signed by a platform CA; PEM download)
- [x] Certificate inventory (serial, fingerprint, SANs, status, expiry)
- [x] TLS config generation: listeners with a bound certificate emit
certfile/keyfile/cafile; cert files are published to a shared
certs volume before the config is validated/activated
- [ ] Configuration diff view (revision N-1 → N)
- [ ] Configuration rollback (creates a new revision, §62)
- [ ] Reload-vs-restart classification (§28) — only a restart warning on
listener port/bind edits so far, no general classification
- [ ] CA creation (internal CA, import CA)
- [ ] Server certificate generation (CN, SANs, key algorithm)
- [ ] CA import (existing external CA)
- [ ] Root-key export + removal workflow (§18)
- [ ] Client certificates (managed-key mode, one-time download)
- [ ] CSR signing
- [ ] Certificate revocation + CRL generation/publishing
- [ ] mTLS listeners (model fields + config generation exist; blocked on
PKI — certfile/keyfile cannot be emitted yet)
- [ ] mTLS listeners (model fields + config generation exist; binding a
certificate in the UI is the remaining step)
### Release 3 — Operations, safety, and visibility (§68.3) — PARTIAL