1. ホーム
  2. windows

Windows 証明書ストアの証明書を信頼するように Git を設定するにはどうすればよいですか?

2023-09-05 07:12:31

質問

現在、私は以下のようなエントリを .gitconfig に以下のようなエントリがあります。

...
[http]
    sslCAInfo=C:\\Users\\julian.lettner\\.ssh\\git-test.pem
...

これは、gitサーバーと対話するときに使用する証明書を設定します(私の会社のgitサーバーで必要です)。

しかし、今では他のリポジトリ(例えばGitHub上の公開リポジトリ)をクローンすることができません。なぜなら、クライアントは常に設定された証明書を使用し、他のサーバーによって拒否されるからです。

どうすればこの証明書の問題を回避できるでしょうか。認証に Windows 証明書ストアを使用するように Git を設定することはできますか?

どのように解決するのですか?

Git for Windows 2.14 以降、Windows 組み込みのネットワーク層である SChannel を使用するように Git を設定できるようになりました。 これは、Windowsの証明書保管メカニズムを使うことを意味し、あなたは を使わないでください。 は明示的にcurlのCAストレージ機構を設定する必要がないことを意味します。

Git for Windows 2.14 より リリースノート :

<ブロッククオート

Git の HTTPS トランスポートで Secure Channel と OpenSSL を切り替えることができるようになりました。 http.sslBackend 設定変数を "openssl" または "schannel" インストーラが使用するのもこの方法です。 libcurl-4.dll ファイルをコピーするのではなく)。

Git for Windows 2.14 のインストール時に、新しい SChannel メカニズムを選択することができます。 また、実行することによって、既存のインストールを SChannel を使用するように更新することもできます。

git config --global http.sslBackend schannel

このように設定すると、Git は Windows の証明書ストアを使うので http.sslCAInfo の構成設定を必要としない(むしろ無視する)はずです。