linux 預設情況下是否根據 crl 驗證伺服器證書?
假設我有一個基於 Linux 的伺服器,執行 apache 或 tomcat,並帶有一個由受信任的機構創建的 Web 伺服器證書。該證書已嵌入 crl 的分發點。問題如下:每當我的伺服器通過 ssl 與另一個實體(伺服器、使用者等)通信時,它依賴有效的 crl 或信任鏈就足夠了嗎?(預設配置)
編輯:情況是我的組織由windows環境和Linux環境組成。該組織將 Microsoft CA 用於 Windows 和 Linux 都使用的伺服器和客戶端的證書。有一個公共伺服器託管 crl 文件。大多數 Linux 環境由 apache 伺服器和 db 伺服器組成,通過 ssl 進行通信。
問題是如果 crl 伺服器離線,Linux 環境會發生什麼。Linux 伺服器是否能夠通過驗證鏈信任進行通信,或者在沒有可用 crl 的情況下無法驗證。這個問題有點抽象,因為我在那個環境中有很多種伺服器,但是我想知道這種情況下的一般情況。
第二次編輯:我想提一下,在我們的 Linux 環境中,我們使用 OpenSSL 創建 CSR 並安裝證書。
正如 Dmitry 評論的那樣,擔心證書是否已被撤銷的是客戶(或使用正確的術語,即依賴方)。
在 Web 伺服器中,依賴方是瀏覽器,但如果伺服器請求客戶端證書,則角色互換,依賴方是伺服器。
在 Windows 中,使用 CAPI,依賴方僅在配置為檢查 CRL 時才檢查 CRL。雖然我相信 Windows 10 上的 IE11 預設會檢查,但我確信在 IE9/Windows 7 時代,您必須應用組策略來強制執行 CRL 檢查。
在 Unix/Linux 世界中,事情要復雜得多。首先,沒有類似於 Windows 的 CAPI 的單一 API。我們有 OpenSSL、GnuTLS、NSS 等等。Mozilla 的產品在編寫時使用 NSS;Chrome 也使用它。但不能保證所有瀏覽器都這樣做。Firefox 檢查 CRL(但似乎不會長久),而Chrome 使用不同的機制m,即使它們都使用 NSS。
就像 Windows 上的 CAPI 一樣,應用程序是否選擇檢查 CRL 取決於供應商或管理員(您?)或兩者兼而有之。