・GitLabをHTTPS化した後に、pullとかpushするときに「SSL certificate problem: unable to get local issuer certificate」エラーが出るようになった。 こういった疑問に答えます。 この記事を書いている私は、某SIerに勤務しながら、 こういった私が、解説していきます。 私が実機で試したコマンドや画像を載せて書いています。 下記の記事の手順で、GitLabサーバーをHTTPS化しました。 pullしようとすると、以下のエラーメッセージが出てしまいます。 今回の環境は、プライベート認証局からサーバ証明書を発行していたので、「Git for Windows」に、信頼できる認証局として登録する必要があるみたいです。 Chromeブラウザの鍵マークをクリック>証明書をクリック 証明書のパス>中間認証局を選択して「証明書の表示」をクリック 中間認証局の証明書が開く 詳細タブを開いて「ファイルにコピー」をクリック 証明書のエクスポートウィザード画面が開く Base 64 encoded X.509 (.CER) を選択 ファイル名を入力 エクスポートの完了 そのままだと、改行コードが「CRLF」になっています。 エディタで開いて、改行コードを「LF」に変更します。 「LF」に変更できました。 セキュリティ画面が表示されたら、 エラーが解消して、無事にpullできるようになりました。本記事の内容
WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
記事の信頼性担保に繋がると思います。
GitLabをHTTPS化してから「fatal: unable to access 'https://gitlab.xxx.git/': SSL certificate problem: unable to get local issuer certificate」エラーが出るようになったときの対処方法
前回の記事
開発PC(Windows10)側で、リモートリポジトリのURLをHTTPSに変更
PS > git remote set-url origin https://gitlab.sv-mars.planet.space.com/●●●/xxx.git
PS > git remote -v
origin https://gitlab.sv-mars.planet.space.com/●●●/xxx.git (fetch)
origin https://gitlab.sv-mars.planet.space.com/●●●/xxx.git (push)
開発PC(Windows10)からpullしようとするとエラー
PS > git pull origin develop
fatal: unable to access 'https://gitlab.sv-mars.planet.space.com/●●●/xxx.git/': SSL certificate problem: unable to get local issuer certificate
fatal: unable to access
'https://gitlab.sv-mars.planet.space.com/●●●/xxx.git/':
SSL certificate problem: unable to get local issuer certificate
エラーの原因
http.sslcainfoの確認
PS > git config --list
http.sslcainfo=C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
git config --list
コマンドで現在の設定を確認すると、
以下のファイルに信頼できる認証局が登録されていることが分かります。C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
対処方法
プライベート認証局(中間証明局)の証明書をファイルにエクスポート
エクスポートされたファイルの改行コードを「LF」に変更
ca-bundle.crt に認証局の内容を追記する
C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt
ca-bundle.crt
をエディタで開いて、エクスポートした中間認証局の内容を追記します。C:/Program Files/
配下のファイルは、直接は編集できないので、一旦、別の場所にコピーした上で編集して、元もファイルに上書きします。認証局を追加した後に、再度、pullしてみる
git pull origin develop
GitLabのユーザー名とパスワードを入力します。PS > git pull origin develop
From https://gitlab.sv-mars.planet.space.com/●●●/xxx
* branch develop -> FETCH_HEAD
Already up to date.
参考サイト