Zum Inhalt springen
ecdsa.com
Node.js start-upNode.js crypto

Fehlermeldung

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

Der Pfad ist der Wert deiner Variablen; der Grund variiert: „No such file or directory“ bei einer fehlenden Datei, „Permission denied“ bei einer nicht lesbaren und ein OpenSSL-PEM-Fehler, wenn die Datei existiert, aber nicht im PEM-Format vorliegt.

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

Was der Fehler bedeutet

Node.js hat NODE_EXTRA_CA_CERTS beim Start gelesen, konnte die darin genannte Datei aber nicht laden und startet deshalb ohne deine zusätzlichen CA-Zertifikate. Der Prozess bricht nicht ab; die Verbindungen, die diese Zertifikate gebraucht hätten, scheitern später mit „unable to get local issuer certificate“ oder „self-signed certificate in certificate chain“. Der OpenSSL-Grund nach „load failed:“ verrät dir, warum.

Warum der Fehler auftritt

So behebst du den Fehler

  1. 1.

    Datei prüfen, auf die die Variable zeigt

    Stelle sicher, dass der Pfad für den Benutzer existiert, unter dem Node.js läuft, und dass openssl die Datei als PEM-Zertifikat lesen kann.

    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.

    Container: die Datei zusammen mit der Variablen ausliefern

    Kopiere das CA-Zertifikat in das Image (oder binde es ein), und zwar unter genau dem Pfad, den die Variable nennt.

    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.

    Absoluten Pfad verwenden

    Schreibe den Pfad beim Setzen der Variablen vollständig aus, damit er weder vom Arbeitsverzeichnis noch von einer Shell-Expansion abhängt.

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

    DER in PEM konvertieren

    NODE_EXTRA_CA_CERTS erwartet PEM. Konvertiere binäre Exporte mit openssl x509 -inform der; mehrere Zertifikate lassen sich in einer PEM-Datei aneinanderhängen.

    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

Verwandte Fehler

Gesamte Signaturfehler-Datenbank durchsuchen