TypeError da CLI do Adobe I/O ao executar ‘cloudmanagerselect’ no Windows devido a problemas de confiança de certificado
Este artigo explica como resolver um TypeError encontrado ao executar o comando cloudmanager:org:select da CLI do Adobe I/O no Windows, que é causado por problemas de configuração de confiança de certificado relacionados a Node.js e soluções de segurança de rede.
Descrição description
Ambiente
- Adobe Experience Manager Cloud Manager via Adobe I/O CLI (aio)
- Node.js v24.14.1
- SO Windows
Problema/Sintomas
Ao executar o comando aio cloudmanager:org:select, ocorre o seguinte erro:
TypeError: Cannot read properties of null (reading 'headers')
at ...HttpExponentialBackoff.js:142:35
...
Node.js v24.14.1
- O erro é observado em ambientes que usam soluções de segurança de rede, como inspeção de VPN ou SSL.
- O problema está relacionado à validação do certificado Node.js porque ele não confia na CA raiz corporativa por padrão.
Causa
O erro ocorre porque o Node.js não confia na AC raiz corporativa usada pela solução de segurança de rede. Como resultado, a validação do certificado falha e a biblioteca de rede CLI recebe um objeto de resposta nulo.
Resolução resolution
Para corrigir o TypeError encontrado ao executar o comando cloudmanager:org:select da CLI do Adobe I/O no Windows, siga estas etapas:
-
Como um teste de diagnóstico (não uma correção permanente), desative temporariamente a validação do certificado TLS para confirmar a causa raiz:
- Defina a variável de ambiente:
set NODE_TLS_REJECT_UNAUTHORIZED=0 - Executar:
aio cloudmanager:org:select - Se o comando for bem-sucedido, confirmará que Node.js está rejeitando a cadeia de certificados. Não deixe essa configuração ativada, pois ela desativa toda a validação de TLS e representa um risco de segurança.
- Defina a variável de ambiente:
-
Para obter uma solução permanente, exporte o certificado CA raiz do appliance de segurança corporativo ou de rede do Windows:
- Abrir
certmgr.msc. - Navegue até Autoridades de certificação raiz confiáveis.
- Localize o certificado raiz relevante e exporte-o como um arquivo
.pemcodificado na Base 64.
- Abrir
-
Configure o Node.js para confiar neste certificado:
- Defina a variável de ambiente:
set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem - Executar:
aio cloudmanager:org:select - Isso permite que o Node.js confie na CA corporativa, além de sua lista padrão, sem desativar a validação.
- Defina a variável de ambiente:
-
Como alternativa, se a sua versão Node.js for compatível com ele, use o armazenamento CA do sistema:
- Defina a variável de ambiente:
set NODE_OPTIONS=--use-system-ca - Executar:
aio cloudmanager:org:select
- Defina a variável de ambiente: