🕌

PycharmなどIntelliJ 系 IDE で GitHub Copilot がプロキシ環境下で証明書エラー

に公開

JetBrains の IntelliJ 系 IDE(IntelliJ IDEA, PyCharm, WebStorm など)で GitHub Copilot を利用しようとすると、職場のプロキシ環境下で「証明書を検証できない」「unable to verify the first certificate」などのエラーが発生することがある。具体的には下記である。

2024-12-24 13:26:43,681 [   7405]   INFO - #copilot - [INFO] [default] [2024-12-24T04:26:43.679Z] [fetchChat] engine https://api.githubcopilot.com/chat
2024-12-24 13:26:44,038 [   7762]   WARN - #copilot - [ERROR] [Copilot Chat] [2024-12-24T04:26:44.033Z] Error on conversation request: (FetchError) unable to verify the first certificate

この記事では、原因とその対処法を解説する。


1. なぜ証明書エラーが発生するのか

については下記記事にまとめてあります。
https://zenn.dev/mato/articles/3a29146d711d6e


2. エラー解決のための対処法

2.1 NODE_EXTRA_CA_CERTS の利用

Node.js では、追加の CA 証明書を読み込ませるための環境変数 NODE_EXTRA_CA_CERTS が用意されている。この環境変数を設定することで、GitHub Copilot が企業のプロキシサーバー経由で通信する際の証明書検証エラーを回避できる可能性がある。

具体的な手順は以下の通り:

  1. 独自 CA 証明書を入手
    職場のネットワーク管理者から、プロキシサーバーが使用する独自 CA の証明書ファイル(通常は .crt または .pem)を取得する。

  2. NODE_EXTRA_CA_CERTS 環境変数を設定
    独自 CA の証明書ファイルを指定して環境変数を設定する。以下は Linux/macOS の例:

    export NODE_EXTRA_CA_CERTS=/path/to/corporate-proxy-ca.crt
    
  3. IntelliJ IDEA / PyCharm をターミナルから起動
    上記の環境変数を設定した状態で IDE を起動する。これにより、GitHub Copilot のプラグインが通信時に独自 CA を認識できるようになる。

2.2 OS 全体で CA を登録する方法

システム全体に独自 CA を登録することで、Node.js を含むすべてのアプリケーションがその CA を信頼するようになる?

  • Windows: 「信頼されたルート証明機関」に証明書をインポートする
  • macOS/Linux: システムの証明書ストアに追加する

3. 実際に解決した事例から分かったこと

  • NODE_EXTRA_CA_CERTS を設定することで、GitHub Copilot の通信エラーが解消されたため、Node.js が内部的に利用されていると推測される
  • GitHub Copilot の動作が Node.js に依存しているかどうかの公式な確認は取れていないが、この対処法が有効であることは実証済み。

4. まとめ

  1. GitHub Copilot プラグインの通信エラーの原因は、Node.js が独自 CA を認識できていないことだと思われる
    • 職場のプロキシ環境では、独自 CA の設定が必須になる場合がある。
  2. NODE_EXTRA_CA_CERTS を設定してエラー解消に成功
    • これにより、証明書の検証エラーが回避できる。
  3. 公式情報の確認は不十分だが、現状では効果的な対策
    • Node.js を利用している可能性が高いため、この方法が有効。

この手法を試すことで、職場のプロキシ環境下でも GitHub Copilot を正常に動作させることができるようになるはずだ。

Discussion