Skip to content
English
  • There are no suggestions because the search field is empty.

Gude - TLS and the CA certificate

The certificate a Gude Expert Power Control unit needs so it can verify Neowit's MQTT broker, and how to confirm you have the right one. For whoever configures the hardware.

The broker is served behind a Google-managed certificate, so units that verify the server need Google's root in their trust store. Upload GTS Root R1:

Download https://pki.goog/repo/certs/gtsr1.pem
Subject C=US, O=Google Trust Services LLC, CN=GTS Root R1
Valid until 22 June 2036
SHA-256 fingerprint D9:47:43:2A:BD:E7:B7:FA:90:FC:2E:6B:59:10:1B:12:80:E0:E1:C7:E4:E4:0F:A3:C6:88:7F:FF:57:A7:F4:CF

This one file is all a unit needs. mqtt.neowit.io and mqtt.dev.neow.it present the same chain, so the same certificate covers production and development.

Two things worth knowing before you pick a file:

  • Take the self-signed GTS Root R1, the one above. A second certificate with the same name exists, cross-signed by GlobalSign, and the broker sends it as part of its chain — but it expires in January 2028. Trusting that one instead would quietly stop every unit working on that date. Check the fingerprint against the table.
  • Never pin the server's own certificate. It is reissued roughly every 90 days. Only the root belongs in the unit's trust store.

Your unit needs ECDHE key exchange, which anything current supports. TLS 1.2 and 1.3 both work; older key exchange without ECDHE is refused by the broker.

To check a certificate you already have, compare its fingerprint:

openssl x509 -in gtsr1.pem -noout -subject -dates -fingerprint -sha256 

And to confirm the broker accepts it as the only trust anchor:

openssl s_client -connect mqtt.neowit.io:8883 -servername mqtt.neowit.io \     -CAfile gtsr1.pem -verify_return_error -verify_hostname mqtt.neowit.io </dev/null 

The last line should read Verify return code: 0 (ok).

Related

  • Gude setup — the rest of the unit configuration.