Iis

OCSP 客戶端證書驗證

  • July 19, 2019

對於一個家庭自動化項目,我創建了一個 API(用 ASP.NET 編寫,因此託管在 IIS 中)並編寫了我自己的 Android 應用程序來與這個 API 進行通信。為了防止人們訪問此 API 中的特定端點,我想保護不應該公開的端點。有些將在我的統計儀表板中保持公開。

我有一個客戶端 PKI 證書,我從官方和政府認可的組織購買了該應用程序,它包含一個 OCSP 響應程序 URL。當應用程序訪問受保護的端點時,會包含此證書。現在最後一步是伺服器在傳入請求時驗證此證書的有效性,我想出了以下可能的情況:

  • 證書有效
  • 證書的 CA 層次結構無效(我是一名程序員,如果我扼殺了那句話,我深表歉意)
  • 證書已過期(我想 OCSP 響應者將返回該證書)
  • 不包括證書

IIS可以解決這個問題嗎?我只真正找到了與客戶端證書無關的 OCSP 裝訂。基本上應該取消 TLS 握手,因此甚至無法訪問 API。

我正在使用 HAProxy 將請求路由到我網路中的正確伺服器。那麼如果 IIS 是不可能的,HAProxy 能做到這一點嗎?

謝謝!

IIS 可以使用 OCSP 驗證客戶端證書。據我所知,HAProxy 不會。最好的辦法是將客戶端證書傳遞到 IIS 後端。

請注意,您僅使用 OCSP 或證書吊銷列表 (CRL) 來檢查證書的吊銷狀態 - 僅此而已。

因此,證書的驗證仍將包括檢查從證書到信任錨的鏈、檢查證書是否過期以及檢查證書是否用於正確的密鑰使用;無論是否使用 OCSP(或 CRL)。

引用自:https://serverfault.com/questions/975934