OpenSuseでアプリケーション用の自己署名付き.pem証明書をインストールする方法は?

OpenSuseでアプリケーション用の自己署名付き.pem証明書をインストールする方法は?

最近、私の仕事では、インターネット利用ポリシーを更新し、Sophosセキュリティ層を実装してトラフィックを監視しました。

コマンドを使用してgitリポジトリを複製しようとすると、git clone次のエラーが発生します。

fatal: unable to access 'https://github.com/openssl/openssl.git/': SSL certificate problem: self signed certificate in certificate chain

これは「暗黙の」証明書の問題です。どのように動作させることができますか?

アップデート1: 証明書はブラウザ(firefox)で正常に動作するため、正確です。問題は、これらの証明書を使用してgit SSL検証を有効にする方法です。

アップデート2:

Firefox から取得した証明書をコピーします。(次からエクスポートしました。Firefox > 環境設定 > プライバシーとセキュリティ > 証明書 > 証明書の表示)到着する/etc/ssl/certs

ルートとして実行c_rehash /etc/ssl/certsしますgit config --system http.sslCAPath /etc/ssl/certs

次の応答を生成します。複製が途中で開始され、終了します。

Cloning into 'openssl'...

remote: Enumerating objects: 9, done.

remote: Counting objects: 100% (9/9), done.

remote: Compressing objects: 100% (8/8), done.

fatal: The remote end hung up unexpectedly.89 MiB | 16.11 MiB/s   

fatal: early EOF

fatal: index-pack failed

ベストアンサー1

Sophos セキュリティが次のような役割を果たしているようです。仲介者したがって、このリポジトリのSSL / TLSチェックを無効にする必要があります。使用Stackoverflowの返信:

単一のgitコマンドに対してTLS / SSL検証を無効にするには、 -c正しい設定変数をgitに渡すか、Flowの答えを使用してください。

git -c http.sslVerify=false clone https://example.com/path/to/git 

特定のストレージのSSL検証を無効にします。リポジトリが完全に管理下にある場合は、次のことを試すことができます。

git config http.sslVerify false

証明書(自己署名)がコンピュータ(Sophosセキュリティソフトウェア)にあるため、問題は証明書にあるものではありません。 Sophosソフトウェアを停止し(権限がある場合)、もう一度やり直して(ブラウザでも)、これを証明できます。

この証明書をインストールするには(ブラウザで許可されている場合)、ブラウザを開き、SSL / TLSサイトをポイントし、左側のサイトをクリックして証明書(PEM形式)をダウンロードします。その後、ファイルをコピーし/etc/ssl/certsて実行します(最終的に)。c_rehash /etc/ssl/certs

また、実行を試すことができます

git config http.sslCAInfo /etc/ssl/certs/<self-signed certificate>.pem

または

git config --system http.sslCAPath /etc/ssl/certs

gitがこの証明書を受け入れるようにしてください。

手でいくつかのことを行うこともできます。ディレクトリからconfigファイルを検索します。.gitセクションに[http]次の行を追加します。

[http]
sslCAInfo = /etc/ssl/certs/<certificate>.pem
sslCAPath = /etc/ssl/certs/<certificate>.pem
sslCert = /etc/ssl/certs/<certificate>.pem

おすすめ記事