Linux
設置開發環境以使用有效的 CA 文件和有效的 SSL 證書,還可以測試吊銷
我們有一個內部項目需要允許基於 USB 令牌的身份驗證。我們設法了解了它是如何工作的,以及如何設置我們的環境(Apache、HTTPS 支持、在瀏覽器中請求 SSL 驗證證書、從證書中辨識使用者)。
我們主要是在http://cweiske.de/tagebuch/ssl-client-certificates.htm之後學習的
現在我們面臨無法生成有效證書的問題。我們不能在項目的這個階段購買它們。我們都是開發人員,我們需要測試不同的場景。並且為了能夠建構應用登錄系統,我們需要生成或模擬工作環境。
- 這意味著我們需要驗證證書是否有效。
- 證書包含我們所追求的唯一 ID,例如持有人的姓名和電子郵件。
- 在不同的 CA 授權文件下頒發的證書可以具有相同的序列號。
- 證書可以包含多個鏈,我們需要生成多個有效/失敗的鏈。
- 證書可能會過期(可能是最容易做到的)
- 證書可以被吊銷。
我們可以做些什麼來設置一個完整的沙盒環境,其中包含有效的 CA 文件、有效的證書、過期的證書,甚至更重要的是撤銷證書,因為如果證書被撤銷,我們需要檢查 OCSP。
您將如何設置這樣的開發環境來測試這些內部環境?我們可以使用哪些工具來簡化我們的任務?
openssl
一些shell腳本就足夠了。您可以生成本地受信任的 CA 證書/密鑰,使用這些證書/密鑰簽署 CSR,撤銷它們,以及其他所有操作。還有預先建構的 CA 管理 GUI 和命令行工具集,但難點在於了解它是如何工作的(並且鑑於您想要做的不是標準案例,您需要了解它是如何工作的在引擎蓋下工作)。執行所需轉換的機制是微不足道的。