Git clone Problem with the SSL CA Cert 2つの対処法

このエラーが出たら以下を実行してみてください。 私はWSL uBuntuでこれが出ました。

簡単な方法

証明書を再インストール。 これで出来た人もいるみたいです。 私の場合はこれでは出来ず、この下の2つ目の方法『certファイルを取ってきて.gitconfigに設定』でgit clone出来ました。

sudo apt-get install ca-certificates

certファイルを取ってきて.gitconfigに設定

以下、Chromeでの例です。

  1. github.comに行く
  2. URLの左の『鍵マーク』をクリック
  3. 『この接続は保護されています』をクリック
  1. 『証明書は有効です』の右のマークをクリック
  1. 『詳細』をクリック
  2. 『DigiCert Global Root CA』をクリック
  3. 『選択した証明書をエキスポート』をクリック
  4. WSLの/usr/share/ca-certificatesに保存する。

私の場合、以下のフォルダに入っています。<user_name>はあなたのユーザー名になっていると思います。

C:\Users\<user_name>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState\rootfs\usr\share\ca-certificates

  1. .gitconfitにエクスポートした.crtファイルをuBuntuのフルパスで設定する。 私は、uBuntuのユーザーホームディレクトリに.gitconfigを作っているので以下のコマンドで編集。 (nanoの使い方はこちら)
sudo nano .gitconfig
  1. [https]の下にsslCAInfo=/usr/share/ca-certificates/xxxxxxxx.crt を記述する。 (xxxxxxxxはあなたがエクスポートしたファイル名に置き替えてください。ファイル名を指定せずエクスポートしていたら、多分 『DigiCert Global Root CA.crt』ですね。 私のファイル名はスペースを消してエクスポートしたのでファイル名が異なります。)
  2. 『Ctrl+X』–>『y(変更を保存して終了)』
  3. これで私はgit clone出来ました。

おまけ

nanoを使ったり、ファイルの場所を決めたりするのが面倒くさい場合は、以下の様にすると.gitconfigが無ければ自動で作りcrtファイルを設定できると思います。

git config --global https.sslCAInfo /usr/share/ca-certificates/DigiCert Global Root CA.crt

設定されているか確認する方法

–globalオプションを付けるとグローバルに設定されているものの表示。 –globalオプション無しの場合は、ローカル設定とグローバル設定の両方を表示するそうです。

git config --global -l
git config -l

コメント