Exploratory DesktopがUNABLE_TO_GET_ISSUER_CERT_LOCALLYのネットワークエラーが発生する

Exploratory Desktopをインストールしたところ、ログイン時にネットワークの接続ができずにログイン時にエラーが発生することがあります。ブラウザでは exploratory.io に問題なく接続できる点が特徴です。

問題

ログを確認すると、ログイン時に以下のエラーが記録されています。

UNABLE_TO_GET_ISSUER_CERT_LOCALLY
Error: unable to get local issuer certificate
at TLSSocket.onConnectSecure

原因

Exploratory Desktopは、起動時にWindowsの「信頼されたルート証明機関」にある証明書を読み込み、Exploratoryのサーバーとの通信の検証に使っています。「中間証明機関」のストアは参照しません。

Exploratoryのサーバー証明書は Let’s Encrypt が発行しており、最上位のルート証明書は ISRG Root X1 です。新しいPCの「信頼されたルート証明機関」にこの証明書が入っていないと、サーバー証明書を検証できず、上記のエラーになります。

Windowsは一部のルート証明書を最初からは入れておらず、アプリが初めて必要としたときに取得して追加する仕組みになっています。一方、ChromeやEdgeはWindowsのストアではなくブラウザ独自のルート証明書の一覧で検証します。そのため、ブラウザでは接続できても、Windowsのストアを参照するExploratory Desktopだけが失敗するという差が出ます。

会社のポリシーでルート証明書の自動更新が無効になっているPCでは、特にこの状態になりやすくなります。

解決方法

1. 原因の確認

問題が起きているPCで、PowerShellから以下を実行します。

Get-ChildItem Cert:\LocalMachine\Root, Cert:\CurrentUser\Root | ? Subject -match 'ISRG' | select Subject, Thumbprint, NotAfter, PSParentPath

正常なPCにだけ CN=ISRG Root X1 が表示される場合は、この問題が原因です。

2. ISRG Root X1 のインストール

追加する証明書は以下です。

項目 内容
証明書名 ISRG Root X1(発行元: Internet Security Research Group)
種類 ルート証明書(中間証明書の追加は不要です)
インストール先 「ローカルコンピューター」の「信頼されたルート証明機関」

「ローカルコンピューター」にインストールすると、そのPCのすべてのユーザーで有効になります。

  1. 以下から証明書(isrgrootx1.der)をダウンロードします。
    https://letsencrypt.org/certs/isrgrootx1.der

  2. ダウンロードしたファイルが正しいものか、以下の値で確認します。

    項目 値
    拇印(SHA-1。PowerShellの Thumbprint と同じ値) CABD2A79A1076A31F21D253635CB039D4329A5E8
    SHA-256 96BCEC06264976F37460779ACF28C5A7CFE8A3C0AAE11A8FFCEE05C0BDDF08C6
    有効期限 2035年6月4日
  3. ファイルをダブルクリックし、「証明書のインストール」をクリックします。

  4. 保存場所で「ローカル コンピューター」を選択します。

  5. 「証明書をすべて次のストアに配置する」を選択し、「信頼されたルート証明機関」を指定してインストールを完了します。

  6. 証明書は起動時に読み込まれるため、Exploratory Desktopを一度終了し、再度起動します。オンラインモードで起動できれば解決です。

会社支給のPCで証明書を自由に追加できない場合は、正常に動作しているPCから証明書をエクスポートして、問題のPCにインポートする方法もあります。この場合も、社内の情報システム部門の指示に従ってください。

同じ発行元の「ISRG Root X2」だけでは、Rパッケージの取得先(download2.exploratory.io)との通信を検証できません。必ず「ISRG Root X1」を追加してください。

3. ISRG Root X1 を追加しても解消しない場合

社内ネットワークで通信の内容が検査(HTTPS検査)されている可能性があります。その場合は、検査に使われている社内の証明書も、同じく「ローカルコンピューター」の「信頼されたルート証明機関」に追加してください。

補足:接続先とポート

Exploratory Desktopは、以下にHTTPS(443番ポート)で接続します。

上記の解決方法を試してもうまく問題が解決しないときは、サポートチーム(support@exploratory.io)までご連絡ください。