免責聲明:我是 SSL 新手,發現它有點令人困惑,並且需要盡快得到答案。
我被告知我的“密鑰庫”有可能被損壞的危險,所以我正在嘗試檢查它並理解它。我正在使用 Arch Linux。
我在其中看到了很多有趣的東西/etc/ssl/certs
(我想問題#1是,「這就是『密鑰庫』嗎?」),但是當我將其全部傳遞readlink -f
並刪除重複項時,該清單變得更加明智。看來我所有的證書都是來自/usr/share/ca-certificates/
.其中大部分位於mozilla/
子目錄中,但還有其他子目錄,例如:
brazil.gov.br/
cacert.org/
debconf.org/
gouv.fr/
signet.pl/
spi-inc.org/
我的主要問題是我不知道如何發現可疑證書。簡單地訪問這些網站似乎違反直覺(即它們可能具有相同的惡意軟體,這些惡意軟體可能首先損壞了我的金鑰庫)。
ca-certificates
是我的套件管理器安裝的套件;我可以清除它然後重新安裝嗎?這樣做安全嗎?
更新:
促使此次調查的問題是無法識別的 VeriSign 證書。具體來說,我得到了一個帶有證書的簽名,而我沒有(但大概應該)擁有和信任該證書。
我在 VeriSign 網站上找到了這個頁面,其中列出了一大堆證書: http://www.verisign.com/support/roots.html ....所以我開始根據網站上的證書檢查我安裝的證書的指紋。
for cert in /etc/ssl/certs/Veri[Ss]ign*; do
printf "%s: " $cert
openssl x509 -noout -in $cert -fingerprint
done
結果:一個不匹配。聽起來也很重要:「VeriSign 1 類公共主要 CA」。
併發症:我的套件管理器告訴我,我現有的證書校驗和沒問題。此外,證書上的指紋我應該要匹配兩者都不我擁有的也不是 VeriSign 網站上列出的。
答案1
由 CA 頒發給最終實體(例如 Web 伺服器)的憑證通常是透過中間(也稱為鏈)CA 頒發的。有幾個原因。當 CA 首次開始以這種方式頒發證書時,伺服器運營商無法安裝中間 CA,從而在擁有根證書的情況下訪問沒有緩存(或安裝)鏈證書副本的用戶,這是很常見的情況和EE 證書,但無法連接它們。今天這種情況不太常見,但可能是您面臨的問題 - 這是訪問公共伺服器造成的 - 如果是這樣,我會幫您看看。您可以隨時查看無法驗證的 EE 憑證的頒發者名稱,並查看是否可以在 VeriSign 網站上找到匹配的「中間 CA」憑證。 ,我建議您也進行證書驗證- VeriSign 在其所有CA 上都支援OCSP...大多數(所有?)高級CA 都採用這種實時/近乎實時的形式。的就是CRL。