Other Parts Discussed in Thread: UNIFLASH, CC3220SF
Dear TI,
I am currently trying to connect to my MQTT broker which uses TLSv1.2 signed by LetsEncrypt. I am getting certificate errors, but I am also a bit confused about the difference between certificates that are used for the image, and for HTTPS traffic.
If I understand correctly, an image is signed by a CA to make sure that image is valid for Secure Boot . These should be my own certificates, so that no one else will be able to manipulate the image. If I understand correctly, these can be configured using the "Trusted Root-Certificate Catalog" in UniFlash. What I don't understand, is which CA files are used to access HTTPS websites. On normal desktop browser, the browser normally contains a list of default CA files that can be trusted to verify a HTTPS connection. Is the default "Trusted Root-Certificate Catalog" something similar to that? or should CA files for HTTPS traffic be provided separately as files?
What I tried so far, is adding the LetsEncrypt Root and intermediate certficates as separate files, however I keep getting the following error:
.[SOCK ERROR] an event received on socket 0 [SOCK ERROR] Used wrong CA to verify the peer. Connection to broker failed, Error code: -688
According to the errors.h file that is a
#define SL_ERROR_BSD_ESEC_ASN_NO_SIGNER_E (-688L) /* ASN no signer to confirm failure */
What am I doing wrong for the MQTT example (mqtt_client_CC3220SF_LAUNCHXL_tirtos_gcc)?
And just to verify: I shouldn't use these certificates as Trusted Root-Certificate Catalog right? Because otherwise everyone with the LetsEncrypt keys could potentially have access to the device.
MJ