Ssl

您如何測試 HTTPS 站點以獲取已撤銷的證書?

  • August 26, 2010

我目前正在使用 nagios 進行監控,包括使用check_http選項檢查即將到期的 SSL 證書等。我想做的是包括為我監控的每個站點測試已撤銷的證書。聽起來很容易,對吧?好吧:

  • check_http似乎沒有檢查撤銷的證書。至少,它最近發生的時候沒有發出嗶嗶聲,這導致了一些混亂
  • Openssl 的verifyhas-crl_check-crl_check_all,這很好,但我更關心 OSCP 而不是 CRL(因為這是瀏覽器關心的)
  • Openssl 有一個oscp模式,但看起來我必須做很多工作才能將證書放在正確的位置,找出 OSCP 伺服器的位置等。

我找到了一堆關於編寫程式碼來進行 OSCP 檢查的文章,但是必須有一個很好的程序可以做到這一點,對吧?我想要的是一張 Nagios 檢查,或者我可以用作檢查的東西。在我的完美世界中,它看起來像:

check_http_with_oscp -I (IP) -H (hostname) -p 443

任何人?

恐怕這裡只能指點一下,不過你應該可以把東西放在一起,不會有太多的痛苦。

openssl 的 s_client -showcerts 將轉儲 PEM 編碼的證書。您可以很容易地使用正則表達式提取它們中的每一個。然後通過 openssl x509 -text 管道它們以提取 OCSP url。然後可以使用 openssl ocsp 向響應者發送 OCSP 請求:

http://openssl.org/docs/apps/ocsp.html

在每種情況下,您都需要父證書,除了根證書之外,您將擁有該證書。因此,除了可能對其進行硬編碼之外,它是完全獨立的。(您也可以通過 AIA 擴展 URL 下載根證書。)

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