SSL certificate problem: Unable to get local issuer certificate

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

プラットフォームについて: Cloud、Server、および Data Center - この記事はすべてのプラットフォームに等しく適用されます。

Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Fisheye および Crucible は除く

問題

プッシュまたはプル時にコマンドラインで次の内容が表示される。

SSL Certificate problem: unable to get local issuer

原因

この問題の原因として 2 種類の原因が確認されています。

  1. 自己署名証明書を検証できない。 
  2. デフォルトの Git 暗号化バックエンド (Windows クライアント)

ソリューション

ソリューション #1 - 自己署名証明書

回避策

グローバル オプションを使い、証明書の検証を行わないよう git に指定します。

git config --global http.sslVerify false

(warning) SSL 認証のグローバルな無効化はセキュリティ リスクと見なされる可能性があり、一時的にのみ行うべきである点にご注意ください。


ソリューション - クライアント側

この記事では認証局を CA と呼びます。 

この問題はこれまでさまざまな方法で解決されてきています。以降ではクライアント側で実行する複数の解決策を提案しています。

  1.  git.exe の証明書ストアに root 証明書が追加されていることを確認します。このファイルの場所は GIT のインストール方法/先に応じます。たとえば、Git Bash の信頼済みの証明書ストアのディレクトリは C:\Program Files\Git\mingw64\ssl\certs です。Microsoft のブログもご確認ください。
  2. Git に CA バンドルの場所を指定します。

    git config --system http.sslCAPath /absolute/path/to/git/certificates


    ここで /absolute/path/to/git/certificates は CA 証明書を含むファイルを格納した場所です。

    あるいは CA バンドルを /bin ディレクトリにコピーし、gitconfig ファイルに次の内容を追加します。

    sslCAinfo = /bin/curl-ca-bundle.crt
  3. Git を再インストールします。
  4. root 証明書を含む完全な証明書チェーンが CA バンドル ファイルに存在することを確認します。


ソリューション - サーバー側

この問題は、Bitbucket Server がプロキシではなく SSL 終端コネクタで保護されている構成でも発生することがあります。

  1. Java の KeyStore に完全な証明書チェーン (中間証明書と root 証明書) が含まれていることを確認します。 
    • KeyStore Explorer などのツールを利用して KeyStore 内の証明書チェーンの詳細を確認できます。

ソリューション #2 - デフォルトの Git 暗号化バックエンド

Windows を利用している場合、git はデフォルトで "Linux" の暗号化バックエンドを使いますが、これによって Git 処理が完了しないことがあります。Git for Windows 2.14 以降では、Windows に組み込みのネットワーク層である SChannel を暗号化バックエンドとして利用するように Git を構成できるようになりました。これを行うには Git クライアントで次のコマンドを実行します。

git config --global http.sslbackend schannel

これによって Windows の証明書保管メカニズムを使い、curl での CA 保管 (http.sslCAInfo) メカニズムを明示的に構成する必要がなくなります


説明

プッシュまたはプル時にコマンドラインに次のエラーが表示される: SSL Certificate problem: unable to get local issuer. This error occurs when a self-signed certificate cannot be verified. 

製品Bitbucket
プラットフォームServer
最終更新日: 2022 年 12 月 23 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.