"Certificados autofirmados" falla, pero el almacén de confianza no

0

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?

    
pregunta Noam M 13.12.2018 - 05:19
fuente

1 respuesta

1

Parece que Starfield Class 2 CA es la CA raíz para el certificado de servidores. Esta CA raíz debe incluirse en el almacén de confianza. No está completamente claro qué contiene exactamente CAfile.pem , pero de su descripción de "..continúe el último certificado de la cadena" asumo que es el certificado del servidor y no la CA raíz. Dado que el certificado del servidor no es un certificado de CA en absoluto, simplemente se ignorará cuando se indique en el parámetro -CAfile , ya que esto, como sugiere su nombre, espera los certificados de CA.

    
respondido por el Steffen Ullrich 13.12.2018 - 07:17
fuente

Lea otras preguntas en las etiquetas