我已建立根 CA 和伺服器憑證如下迪迪埃史蒂文斯博客。即使撤銷伺服器憑證後,我的瀏覽器仍然信任該憑證。我收到舊 CA 和憑證的憑證已撤銷錯誤訊息。我按照同一個部落格建立新的 CA 和證書,但現在不起作用。
我在 IIS 10.0.10586.0 中託管了我的測試應用程序,我的客戶端瀏覽器是 Chrome 63.0.3239.132 和 IE 11.1295.10586.0。我確認 CRL 檔案是可存取的,憑證撤銷檢查在兩個瀏覽器中都已開啟。但 CRL 驗證仍然沒有發生。
答案1
憑證撤銷是由首先處理憑證的瀏覽器/應用程式處理的過程。當它連接到應用程式並收到憑證時,它首先檢查公用名稱(或 SAN)以確保伺服器的名稱與憑證相符。之後,它會進行一些其他檢查(與此問題無關)並最終進行 CRL 檢查。
CRL 檢查要求應用程式聯絡列出的託管 CRL 檔案的伺服器(或 OCSP 伺服器)以驗證所提供的憑證是否仍然有效。這意味著您不僅必須使用頒發憑證來正確簽署 CRL,還必須以客戶端可以存取的方式託管 CRL 檔案。如果 CRL 未正確更新和簽名,則 CRL 檢查會失敗,而憑證仍然有效。
您是否將 CRL 託管在可供先檢查 CRL 的用戶端存取的位置?