TypeErreur de l’interface de ligne de commande Adobe I/O lors de l’exécution de « cloudmanagerselect » sous Windows en raison de problèmes de confiance des certificats
Cet article explique comment résoudre un TypeError rencontré lors de l’exécution de la commande cloudmanager:org:select de l’interface de ligne de commande Adobe I/O sous Windows, qui est causé par des problèmes de configuration de confiance de certificat liés à Node.js et aux solutions de sécurité réseau.
Description description
Environnement
- Adobe Experience Manager Cloud Manager via l’interface de ligne de commande Adobe I/O (AIO)
- Node.js v24.14.1
- Système d’exploitation Windows
Problème/Symptômes
Lors de l’exécution de la commande aio cloudmanager:org:select, l’erreur suivante se produit :
TypeError: Cannot read properties of null (reading 'headers')
at ...HttpExponentialBackoff.js:142:35
...
Node.js v24.14.1
- L’erreur est observée dans les environnements utilisant des solutions de sécurité réseau telles que l’inspection VPN ou SSL.
- Le problème est lié à la validation du certificat Node.js, car il n’approuve pas l’autorité de certification racine d’entreprise par défaut.
Cause
L’erreur se produit car Node.js n’approuve pas l’autorité de certification racine d’entreprise utilisée par la solution de sécurité réseau. Par conséquent, la validation du certificat échoue et la bibliothèque de mise en réseau de l’interface de ligne de commande reçoit un objet de réponse null.
Résolution resolution
Pour corriger les TypeError rencontrées lors de l’exécution de la commande cloudmanager:org:select de l’interface de ligne de commande Adobe I/O sous Windows, procédez comme suit :
-
À titre de test de diagnostic (et non de correctif permanent), désactivez temporairement la validation du certificat TLS pour confirmer la cause première :
- Définissez la variable d’environnement :
set NODE_TLS_REJECT_UNAUTHORIZED=0 - Exécuter :
aio cloudmanager:org:select - Si la commande réussit, cela confirme que Node.js rejette la chaîne de certificats. Ne laissez pas ce paramètre activé, car il désactive toutes les validations TLS et pose un risque de sécurité.
- Définissez la variable d’environnement :
-
Pour obtenir une solution permanente, exportez le certificat d’autorité de certification racine de l’appliance de sécurité d’entreprise ou réseau à partir de Windows :
- Ouvrez
certmgr.msc. - Accédez à Autorités de certification racine de confiance.
- Recherchez le certificat racine approprié et exportez-le en tant que fichier
.pemcodé en Base-64.
- Ouvrez
-
Configurez Node.js pour approuver ce certificat :
- Définissez la variable d’environnement :
set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem - Exécuter :
aio cloudmanager:org:select - Cela permet à Node.js d’approuver l’autorité de certification d’entreprise en plus de sa liste par défaut, sans désactiver la validation.
- Définissez la variable d’environnement :
-
Si votre version de Node.js le prend également en charge, utilisez le magasin d’autorité de certification système :
- Définissez la variable d’environnement :
set NODE_OPTIONS=--use-system-ca - Exécuter :
aio cloudmanager:org:select
- Définissez la variable d’environnement :