Aller au contenu
ecdsa.com
Node.js start-upNode.js crypto

Message d’erreur

Warning: Ignoring extra certs from `/etc/ssl/private-ca/corp-root-ca.pem`, load failed: error:80000002:system library::No such file or directory

Le chemin est la valeur de votre variable ; la raison varie : « No such file or directory » pour un fichier absent, « Permission denied » pour un fichier illisible, et une erreur PEM d’OpenSSL lorsque le fichier existe mais n’est pas au format PEM.

Node.js start-up — NODE_EXTRA_CA_CERTS could not be read

Ce que cela signifie

Node.js a lu NODE_EXTRA_CA_CERTS au démarrage, mais n’a pas pu charger le fichier indiqué : il démarre donc sans vos certificats d’AC supplémentaires. Le processus ne s’arrête pas ; les connexions qui avaient besoin de ces certificats échouent plus tard avec « unable to get local issuer certificate » ou « self-signed certificate in certificate chain ». La raison OpenSSL qui suit « load failed: » en donne la cause.

Pourquoi cela se produit

Comment corriger l’erreur

  1. 1.

    Vérifier le fichier désigné par la variable

    Assurez-vous que le chemin existe pour l’utilisateur qui exécute Node.js et qu’openssl peut le lire comme certificat PEM.

    bash
    echo "$NODE_EXTRA_CA_CERTS"
    ls -l "$NODE_EXTRA_CA_CERTS"
    openssl x509 -in "$NODE_EXTRA_CA_CERTS" -noout -subject   # must be PEM: -----BEGIN CERTIFICATE-----
  2. 2.

    Conteneurs : livrer le fichier avec la variable

    Copiez le certificat de l’AC dans l’image (ou montez-le) au chemin indiqué par la variable.

    text
    # Dockerfile: put the file where the variable points, inside the image
    COPY corp-root-ca.pem /usr/local/share/ca-certificates/corp-root-ca.crt
    ENV NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/corp-root-ca.crt
  3. 3.

    Utiliser un chemin absolu

    Développez le chemin au moment de définir la variable, pour qu’il ne dépende ni du répertoire de travail ni du développement effectué par le shell.

    bash
    # Absolute path, expanded by the shell before node starts
    export NODE_EXTRA_CA_CERTS="$HOME/certs/corp-root-ca.pem"
  4. 4.

    Convertir le DER en PEM

    NODE_EXTRA_CA_CERTS attend du PEM. Convertissez les exports binaires avec openssl x509 -inform der ; plusieurs certificats peuvent être concaténés dans un même fichier PEM.

    bash
    # A DER (.cer) export from Windows must be converted to PEM first
    openssl x509 -inform der -in corp-root-ca.cer -out corp-root-ca.pem

Erreurs associées

Parcourir toute la base de données des erreurs de signature