Sto cercando di connettere un client MQTT a un server su MQTTS (MTTQ + TLS). Il server fornisce 3 certificati:
- il certificato dell'endpoint MQTT,
- un certificato intermedio (RapidSSL) firmato con GeoTrust Global CA
- un certificato radice utilizzato per la certificazione incrociata (Equifax, con un debole algoritmo di firma SHA1 e scadenza nel 2018)
Ora, mentre tutto funziona bene con i browser (cioè, usano il certificato GeoTrust Global CA come ancoraggio invece del certificato Equifax), i client MQTT non accettano la connessione quando forniti con la root GeoTrust Global CA, accettano solo le connessioni con la radice Equifax deprecata.
Si noti che i client MQTT non hanno un trust store, quindi è necessario fornire un certificato di root pubblico.
Abbiamo testato con 2 diversi client MQTT: mosquitto Embedded + WolfSSL su schede Marvel e mosquitto_sub su Linux
Sospetto che questi client possano gestire le catene di certificati in modo diverso, ma non sono sicuro del perché / come.