VS Codeの「Self Signed Certificate(自己署名証明書)」エラーを解決する方法(企業プロキシ対応ガイド)

intermediate💻 VS Code2026-07-06| VS Code (1.60+), Windows 10/11, macOS, Linux, 企業内ネットワーク

Error Message

Error: self signed certificate in certificate chain
#vscode#ssl-error#proxy-settings#nodejs

問題のシナリオ締め切りまであと5分というところで、GitHub CopilotやPrettierのような重要な拡張機能が必要になったとします。「インストール」をクリックしたものの、プログレスバーの代わりにVS Codeが「self signed certificate in certificate chain」というエラーを表示します。これは企業ネットワークにおける典型的な悩みです。

これは通常、SSLインスペクション(SSL通信の可視化)を行うファイアウォールやVPN環境下で作業している場合に発生します。プロキシが通信を傍受し、元の証明書を独自のものに置き換えます。VS Codeはこの「許可されていない」仲介者を検知し、安全を確保するために接続を遮断します。

根本的な原因:Node.jsとシステムの不一致VS CodeはElectronとNode.js上で動作しています。デフォルトでは、Node.jsはハードコードされた独自の信頼済みルート証明機関(CA)リストを使用します。そのため、Windowsの証明書ストアやmacOSのキーチェーンに既にインストールされている証明書が無視されることがよくあります。会社のプロキシが2048ビットの自己署名証明書をチェーンに挿入すると、Node.jsはそれを認識できず、即座にハンドシェイクに失敗します。

クイックフィックス(注意して使用してください)締め切りが迫っている場合は、VS Codeのチェックを緩和させることができます。これが拡張機能を動作させる最も速い方法です。警告: この方法はセキュリティを低下させます。接続先サーバーの身元確認を停止するため、理論的には中間者攻撃(Man-in-the-Middle)に対して無防備になる可能性があります。

  • VS Codeの設定(Ctrl + ,)を開きます。- proxy strict ssl を検索します。- Http: Proxy Strict SSL のチェックを外します。または、settings.jsonに直接以下を貼り付けます:
{
  "http.proxyStrictSSL": false
}

これで拡張機能がすぐにインストールされるはずです。これは恒久的な解決策ではなく、あくまで一時的なパッチとして扱ってください。

プロフェッショナルな修正方法:システムストアとの同期最新のVS Code(バージョン1.60以降)には、セキュリティを無効にせずに企業プロキシを処理する組み込みの方法が用意されています。SSLエラーを無視する代わりに、ブラウザが使用しているのと同じ証明書をVS Codeに信頼させることができます。

方法1:システム証明書のサポートを有効にする- 設定を開きます。- system certificate を検索します。- Http: System Certificate Proxy Support を探します。- 設定を off から on に変更します。- VS Codeを再起動します。これが最もクリーンな方法です。IT部門によって確立された信頼設定をVS Codeが継承できるようになります。

方法2:NODE_EXTRA_CA_CERTS 環境変数の利用上記の設定で解決しない場合は、基盤となるNode.jsプロセスに対して、会社のルート証明書ファイル(通常は .pem または .cer)を直接指定できます。まず、ブラウザやキーチェーンから企業のCAをエクスポートしておいてください。

Windows (PowerShell) の場合:

$env:NODE_EXTRA_CA_CERTS="C:\Users\Admin\Documents\corp-root-ca.pem"
code .

macOS/Linux の場合:

export NODE_EXTRA_CA_CERTS="/Users/name/certs/corp-root-ca.pem"
code .

この設定を永続化するには、システムの環境変数(Windows)または .zshrc ファイル(Mac/Linux)にこの変数を追加してください。

代替案:ターミナルからのインストールGUIが動かなくても、ターミナルなら正常に動作することがあります。コマンドラインインターフェース(CLI)経由でインストールを試みることができます。これにより、拡張機能マーケットプレイスのUIよりも確実にシェルのプロキシ設定を継承できる場合があります。

code --install-extension esbenp.prettier-vscode

修正の確認エラーが消えたからといって、解決したと思い込まないでください。Http: Proxy Strict SSL を再度有効にし、新しい拡張機能を検索してみてください。その後、出力タブを開き、ドロップダウンから**ログ (ウィンドウ)**を選択します。SSLハンドシェイクの警告が表示されていなければ、問題ありません。

ネットワークデバッグのヒントまだ解決しませんか?原因はプロキシ設定やサブネットの設定ミスかもしれません。複雑な企業ネットワークのセグメントをトラブルシューティングする際、特定のIP範囲に実際に到達可能かどうかを確認する必要があります。私はCIDRブロックやゲートウェイアドレスの確認に ToolCraftのサブネット計算機 をよく使います。インストール不要のブラウザベースのツールなので、制限の厳しい社用PCでも最適です。

まとめself signed certificate エラーは、Node.jsの厳格なデフォルト設定とネットワークのセキュリティ層との間の競合です。急ぎの場合は proxyStrictSSL をオフにすることも手ですが、長期的な開発においては System Certificate Proxy Support を有効にすることが、より安全でプロフェッショナルな選択です。

Related Error Notes