Opensuse

如何在 OpenSuse 中為應用程序安裝自簽名 .pem 證書?

  • January 29, 2019

最近我的工作場所更新了網際網路使用政策並實施了 Sophos 安全層來監控流量。

我正在嘗試複製一個 git repo(使用git clone命令),但收到以下錯誤

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

這是“隱含的”證書問題。我怎樣才能得到這個工作?

UPDATE1: 證書是正確的,因為它們成功地與瀏覽器(firefox)一起工作,問題是如何使用這些證書來啟用 git SSL 驗證。

更新2:

將從 Firefox 獲取的證書(從Firefox > Preference > Privacy & Security > Certificates > View Certificates*導出)*複製到/etc/ssl/certs.

以 rootc_rehash /etc/ssl/certsgit 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

似乎 Sophos 安全充當MITM,因此您應該禁用此 repo 的 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

引用自:https://unix.stackexchange.com/questions/497190