証明書の信頼性の問題により、Windowsで「cloudmanagerselect」を実行する際にAdobe I/O CLI TypeErrorが発生する

この記事では、WindowsでAdobe I/O CLI cloudmanager:org:select コマンドを実行する際に発生したTypeErrorの解決方法について説明します。これは、Node.jsおよびネットワークセキュリティソリューションに関連する証明書の信頼設定の問題が原因です。

説明 description

環境

  • Adobe I/O CLI (aio)を使用したAdobe Experience Manager Cloud Manager
  • Node.js v24.14.1
  • Windows OS

問題/症状

コマンド aio cloudmanager:org:selectを実行すると、次のエラーが発生します。

TypeError: Cannot read properties of null (reading 'headers')
at ...HttpExponentialBackoff.js:142:35
...
Node.js v24.14.1
  • このエラーは、VPNやSSL検査などのネットワークセキュリティソリューションを使用している環境で発生します。
  • この問題は、デフォルトでは企業ルート CAを信頼しないため、Node.js証明書の検証に関連しています。

原因

このエラーは、Node.jsがネットワークセキュリティソリューションで使用される企業ルート CAを信頼しないために発生します。 その結果、証明書の検証が失敗し、CLI ネットワーク ライブラリはnull応答オブジェクトを受信します。

解決策 resolution

WindowsでAdobe I/O CLI cloudmanager:org:select コマンドを実行する際に発生したTypeErrorを修正するには、次の手順に従います。

  1. 診断テスト(恒久的な修正ではない)として、TLS証明書検証を一時的に無効にして根本原因を確認します。

    • 環境変数を設定します:set NODE_TLS_REJECT_UNAUTHORIZED=0
    • 実行:aio cloudmanager:org:select
    • コマンドが成功した場合、これにより、Node.jsが証明書チェーンを拒否していることが確認されます。 この設定は、すべてのTLS検証を無効にし、セキュリティリスクを引き起こすため、有効のままにしないでください。
  2. 永続的なソリューションの場合は、Windowsから企業またはネットワーク セキュリティ アプライアンスのルート CA証明書をエクスポートします。

    • certmgr.mscを開きます。
    • 信頼できるルート証明機関に移動します。
    • 関連するルート証明書を見つけ、Base-64 エンコードされた.pem ファイルとして書き出します。
  3. この証明書を信頼するようにNode.jsを設定します。

    • 環境変数を設定します:set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem
    • 実行:aio cloudmanager:org:select
    • これにより、Node.jsは、検証を無効にすることなく、デフォルトのリストに加えて企業CAを信頼できます。
  4. または、Node.jsのバージョンがサポートしている場合は、システム CA ストアを使用します。

    • 環境変数を設定します:set NODE_OPTIONS=--use-system-ca
    • 実行:aio cloudmanager:org:select
recommendation-more-help
experience-cloud-kcs-help-kbarticles