Adobe I/O CLI TypeError beim Ausführen von "-select“ unter Windows aufgrund von Problemen mit der Zertifikatvertrauensstellung

In diesem Artikel wird erläutert, wie ein TypeError behoben werden kann, das beim Ausführen des Adobe I/O CLI-cloudmanager:org:select unter Windows auftritt und durch Probleme bei der Konfiguration der Zertifikatvertrauensstellung im Zusammenhang mit Node.js- und Netzwerksicherheitslösungen verursacht wird.

Beschreibung description

Umgebung

  • Adobe Experience Manager Cloud Manager über Adobe I/O CLI (aio)
  • Node.js v24.14.1
  • Windows-Betriebssystem

Problem/Symptome

Beim Ausführen des Befehls aio cloudmanager:org:select tritt der folgende Fehler auf:

TypeError: Cannot read properties of null (reading 'headers')
at ...HttpExponentialBackoff.js:142:35
...
Node.js v24.14.1
  • Der Fehler tritt in Umgebungen auf, die Netzwerksicherheitslösungen wie VPN- oder SSL-Inspektion verwenden.
  • Das Problem hängt mit der Validierung des Node.js-Zertifikats zusammen, da die Stammzertifizierungsstelle des Unternehmens standardmäßig nicht als vertrauenswürdig eingestuft wird.

Ursache

Der Fehler tritt auf, weil Node.js der von der Netzwerksicherheitslösung verwendeten Stammzertifizierungsstelle des Unternehmens nicht vertraut. Dies führt dazu, dass die Zertifikatsüberprüfung fehlschlägt und die CLI-Netzwerkbibliothek ein Null-Antwortobjekt erhält.

Lösung resolution

Gehen Sie wie folgt vor, um die TypeError zu beheben, die beim Ausführen des Befehls “Adobe I/O CLI cloudmanager:org:select” unter Windows auftreten:

  1. Deaktivieren Sie als Diagnosetest (keine dauerhafte Fehlerbehebung) vorübergehend die TLS-Zertifikatüberprüfung, um die Grundursache zu bestätigen:

    • Legen Sie die Umgebungsvariable fest: set NODE_TLS_REJECT_UNAUTHORIZED=0
    • Durchgang: aio cloudmanager:org:select
    • Wenn der Befehl erfolgreich ist, bestätigt dies, dass Node.js die Zertifikatskette ablehnt. Lassen Sie diese Einstellung nicht aktiviert, da sie alle TLS-Validierungen deaktiviert und ein Sicherheitsrisiko darstellt.
  2. Exportieren Sie für eine dauerhafte Lösung das CA-Stammzertifikat der Unternehmens- oder Netzwerksicherheits-Appliance von Windows:

    • Öffnen Sie certmgr.msc.
    • Navigieren Sie zu vertrauenswürdigen Stammzertifizierungsstellen.
    • Suchen Sie das entsprechende Stammzertifikat und exportieren Sie es als Base-64-kodierte .pem-Datei.
  3. Konfigurieren Sie Node.js so, dass dieses Zertifikat vertrauenswürdig ist:

    • Legen Sie die Umgebungsvariable fest: set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem
    • Durchgang: aio cloudmanager:org:select
    • Dadurch kann Node.js der Unternehmens-CA zusätzlich zur Standardliste vertrauen, ohne die Validierung zu deaktivieren.
  4. Wenn Ihre Node.js-Version dies unterstützt, verwenden Sie alternativ den System-CA-Speicher:

    • Legen Sie die Umgebungsvariable fest: set NODE_OPTIONS=--use-system-ca
    • Durchgang: aio cloudmanager:org:select
recommendation-more-help
experience-cloud-kcs-help-kbarticles