Autorité custom
Si vous essayez de vous connecter à un site Web sécurisé via nodejs. Bien que le site puisse fonctionner dans le navigateur, vous pouvez rencontrer des erreurs telles que CERT_UNTRUSTED, UNABLE_TO_VERIFY_LEAF_SIGNATURE, Unable to verify the first certificate.
Cela peut être dû à plusieurs raisons. Le certificat Root CA est manquant dans nodejs ou le site n'installe pas correctement les certificats intermédiaires.
Node.js a ajouté une variable d'environnement pour résoudre ce problème :
NODE_EXTRA_CA_CERTS
Lorsqu'elles sont définies, les autorités de certification « racine » bien connues (comme VeriSign) seront étendues avec les certificats supplémentaires dans le fichier. Le fichier doit être composé d'un ou plusieurs certificats de confiance au format PEM.
REMARQUE: La variable d'environnement NODE_EXTRA_CA_CERTS n'est lue que lors du premier lancement du processus Node.js. La modification de la valeur lors de l'exécution à l'aide de process.env.NODE_EXTRA_CA_CERTS n'a aucun effet sur le processus en cours.
Cas d'usages
LRE : qui possède un certificat généré par Certinomis.
Principe de fonctionnement
Node.js 7.3.0 (et les versions LTS 6.10.0 et 4.8.0) ont ajouté la variable NODE_EXTRA_CA_CERTS pour que nous puissions transmettre le fichier de certificat de l'autorité de certification.
export NODE_EXTRA_CA_CERTS=[CA certificate file path]
Principe de mise en oeuvre
Ajouter la clé publique dans le fichier {PATH_TO_APIGW}/certificate/additional_ca.pem