Pular para o conteúdo
ecdsa.com
Node.js start-upMódulo crypto do Node.js

Mensagem de erro

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

O caminho é o valor da sua variável; o motivo varia: “No such file or directory” para um arquivo inexistente, “Permission denied” para um arquivo sem permissão de leitura e um erro PEM do OpenSSL quando o arquivo existe, mas não está no formato PEM.

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

O que significa

O Node.js leu NODE_EXTRA_CA_CERTS na inicialização, mas não conseguiu carregar o arquivo indicado, por isso inicia sem os seus certificados de CA extras. O processo não para; as conexões que precisavam desses certificados falham depois com “unable to get local issuer certificate” ou “self-signed certificate in certificate chain”. O motivo informado pelo OpenSSL depois de “load failed:” explica por quê.

Por que acontece

Como corrigir

  1. 1.

    Verificar o arquivo para o qual a variável aponta

    Confirme que o caminho existe para o usuário que executa o Node.js e que o openssl consegue lê-lo como um certificado 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.

    Contêineres: levar o arquivo junto com a variável

    Copie o certificado da CA para a imagem (ou monte-o) no mesmo caminho que a variável indica.

    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.

    Usar um caminho absoluto

    Expanda o caminho ao definir a variável, para que ele não dependa do diretório de trabalho nem da expansão do shell.

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

    Converter DER para PEM

    NODE_EXTRA_CA_CERTS espera o formato PEM. Converta exportações binárias com openssl x509 -inform der; vários certificados podem ser concatenados em um único arquivo 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

Erros relacionados

Ver toda a base de erros de assinatura