Ssl-Certificate
系統商店中的 SSL 證書不受 Chrome 信任
我有一個在我們公司執行的 gitlab 伺服器,我已經獲得了由我們公司的 CA 簽名的證書。由於我可以從我們域內的機器訪問該站點而不會出現 SSL 錯誤,因此我假設伺服器配置正確。
使用筆記型電腦時,我當然沒有公司 CA 證書。例如
openssl s_client -connect my.git.server:443
將返回“錯誤 19,鏈中的自簽名證書”:0 s:/C=REDACTED i:/DC=REDACTED/DC=REDACTED/CN=IssuingCA 1 s:/DC=REDACTED/DC=REDACTED/CN=IssuingCA i:/CN=RootCA 2 s:/CN=RootCA i:/CN=RootCA
所以我訪問了伺服器並導出了根 CA 證書。然後我將它添加到我的系統商店:
sudo su cp RootCA /usr/local/share/ca-certificates/extra/RootCA.crt update-ca-certificates
現在 openssl 接受它就好了(返回程式碼 0,好的)。但是,Google瀏覽器仍然抱怨:
此伺服器無法證明它是 my.git.server;您的電腦作業系統不信任其安全證書。
如果不是因為這條消息,我會認為 Chrome 有自己的證書儲存並且不關心作業系統。但似乎很清楚,該證書受到作業系統的信任,Chrome 引用了它。
我正在執行 Ubuntu 18.04。這只是 Chrome 的一個怪癖,它不尊重系統證書,還是我錯過了什麼?
在 Ubuntu 中,Chrome 使用自己的證書儲存。您可以在 Chrome 中導入您的 RootCA.crt
設置 -> 隱私和安全 -> 管理安全密鑰 -> 管理證書 -> 權限
請注意,更新 ubuntu 系統證書儲存
update-ca-certificates
對 Chrome 沒有影響。