証明書の信頼性の問題により、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を修正するには、次の手順に従います。
-
診断テスト(恒久的な修正ではない)として、TLS証明書検証を一時的に無効にして根本原因を確認します。
- 環境変数を設定します:
set NODE_TLS_REJECT_UNAUTHORIZED=0 - 実行:
aio cloudmanager:org:select - コマンドが成功した場合、これにより、Node.jsが証明書チェーンを拒否していることが確認されます。 この設定は、すべてのTLS検証を無効にし、セキュリティリスクを引き起こすため、有効のままにしないでください。
- 環境変数を設定します:
-
永続的なソリューションの場合は、Windowsから企業またはネットワーク セキュリティ アプライアンスのルート CA証明書をエクスポートします。
certmgr.mscを開きます。- 信頼できるルート証明機関に移動します。
- 関連するルート証明書を見つけ、Base-64 エンコードされた
.pemファイルとして書き出します。
-
この証明書を信頼するようにNode.jsを設定します。
- 環境変数を設定します:
set NODE_EXTRA_CA_CERTS=C:\path\to\corporate-root-ca.pem - 実行:
aio cloudmanager:org:select - これにより、Node.jsは、検証を無効にすることなく、デフォルトのリストに加えて企業CAを信頼できます。
- 環境変数を設定します:
-
または、Node.jsのバージョンがサポートしている場合は、システム CA ストアを使用します。
- 環境変数を設定します:
set NODE_OPTIONS=--use-system-ca - 実行:
aio cloudmanager:org:select
- 環境変数を設定します:
recommendation-more-help
experience-cloud-kcs-help-kbarticles