9eab5e5a04
Certs: - Vendor Bambu's shared LAN-mode root CA (certs/bambu_ca2.pem, verified self-signed CA:TRUE, see certs/README.md for provenance/fingerprint). - Config gains bambu_ca_cert_path (per-printer override) and bambu_require_valid_cert (the allow/reject flag); printer::bambu::BambuTls turns those into BundledCa/Custom/Insecure. connect() doesn't perform a real handshake yet (no TLS-capable MQTT client wired in), just reports which trust mode it would use. Also reconciles a rename in flight (Printer -> GenericPrinter trait) and finishes the PrusaPrinter -> PrusaLinkPrinter/PrusaSerialPrinter split: added the missing GenericPrinter impl for PrusaSerialPrinter, fixed PrinterHandle's variant payload types, updated mod.rs's pub use list and doc comments, and updated the example to the new 5-variant shape. Verified with cargo check --all-targets (0 errors) and a full run of cargo run --example printer_polymorphism.
25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# certs/
|
|
|
|
## bambu_ca2.pem
|
|
|
|
Bambu Lab's shared root CA ("BBL CA2 RSA") used to verify a printer's LAN-mode
|
|
MQTTS (port 8883) certificate. Current-generation Bambu printers present a
|
|
certificate signed by (a chain rooted at) this CA — trust this one file
|
|
instead of fetching/pinning a certificate per printer.
|
|
|
|
- Source: https://github.com/bambulab/BambuStudio/blob/master/resources/cert/printer.cer
|
|
- Fetched: 2026-08-28
|
|
- SHA-256 fingerprint: `E9:8F:19:57:8B:3F:12:4A:CE:6B:8A:24:7F:FE:DA:52:DC:99:C8:9F:D4:E7:D2:0C:82:82:99:77:B7:F3:35:02`
|
|
- Verified with `openssl x509 -noout -text`: self-signed (`Issuer == Subject`),
|
|
`Basic Constraints: CA:TRUE`, `Key Usage: Certificate Sign, CRL Sign` — a
|
|
genuine root CA, not a per-device leaf certificate. Valid until 2050.
|
|
|
|
The "CA2" name implies there was a CA1 generation before it — some
|
|
older printers/firmware may not chain to this root and need their own
|
|
certificate instead. `CONTINUUM_BAMBU_CA_CERT_PATH` (see `.env.example`)
|
|
overrides this default with a specific file for exactly that case.
|
|
|
|
If a printer's connection ever fails certificate verification against this
|
|
file, re-fetch from the source URL above (BambuStudio ships whatever the
|
|
current fleet needs) and update the fingerprint here.
|