Cuando utilicé las API openssl para validar el certificado del servidor (autofirmado), obtuve el siguiente error:
error 19 en 1 depth lookup:self signed certificate in certificate cadena
Según openssl documentación, este error (19) es
"X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN: self signed certificate in cadena de certificados - la cadena de certificados podría construirse usando los certificados no fiables, pero la raíz no se pudo encontrar localmente."
¿Por qué se produce este error? ¿Algún problema con mi certificado de servidor?
Tiene un certificado autofirmado, por lo que no es de confianza por defecto, por eso OpenSSL se queja. Esta advertencia es en realidad algo bueno, porque este escenario también podría surgir debido a un ataque man-in-the-middle.
Para solucionarlo, tendrá que instalarlo como servidor de confianza. Si está firmado por una CA que no es de confianza, tendrá que instalar también el certificado de esa CA.
Eche un vistazo a este enlace sobre la instalación de certificados autofirmados.
A continuación se muestra un sencillo método para verificar la cadena de certificados:
openssl verify -verbose -x509_strict -CAfile ca.pem cert_chain.pem
Esto no requiere instalar CA en cualquier lugar.
Consulte https://stackoverflow.com/questions/20409534/how-does-an-ssl-certificate-chain-bundle-work para obtener más información.
La solución para el error es añadir esta línea en la parte superior del código:
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";