Estoy usando paho.mqtt.c para conectarme de manera "Certificados autofirmados" a un Broker MQTT. Tengo 3 archivos que uso:
- CAfile.pem (CERTIFICATE)
- PrivateKey.pem (PRIVATE KEY)
- Certifcate.pem.crt (CERTIFICATE)
Cuando CAfile.pem continúe con el último certificado de la cadena.
Al realizar la conexión utilizando el siguiente, obtengo un "Verifique el código de retorno: 0 (ok)":
openssl s_client -connect 1234.iot.eu-west-1.amazonaws.com:8883
-cert Certifcate.pem.crt
-key PrivateKey.pem
-CAfile /etc/ssl/certs/ca-certificates.crt #!!!!
Al realizar la conexión con el siguiente, obtengo un "Código de retorno de verificación: 20 (no se puede obtener el certificado del emisor local)":
openssl s_client -connect 1234.iot.eu-west-1.amazonaws.com:8883
-cert Certifcate.pem.crt
-key PrivateKey.pem
-CAfile CAfile.pem #!!!!
Descubrí que el motivo del "Código de retorno de verificación: 20 ..." es que Starfield Class 2 (que se encuentran en mi ca-certificate.crt).
Cuando concatan Clase de Starfield 2 a mi 'CAfile.pem' funciona.
¿Por qué el fallo? ¿Cómo lo resuelvo?