儘管有可訪問的 CRL,但非域訪客的證書吊銷檢查失敗
當我們嘗試在不屬於域的電腦上使用證書時,Windows 抱怨說
由於吊銷伺服器處於離線狀態,吊銷功能無法檢查吊銷。
但是,如果我手動打開證書並檢查
CRL Distribution Point
屬性,我會看到一個ldap:///
URL 和一個http://
指向託管 CRL 的外部可訪問 IIS 站點的 URL。當然,未加入域的客戶端無法訪問ldap:///
URL,但它可以從http://
連結中下載 CRL(至少在瀏覽器中)。我啟用了 CAPI 日誌記錄,我看到了與此失敗的撤銷檢查相對應的事件。該
RevocationInfo
部分是:
- 撤銷資訊
$$ freshnessTime $$ PT11H27M4S + RevocationResult 由於吊銷伺服器離線,吊銷功能無法檢查吊銷。
$$ value $$ 80092013 + 證書吊銷清單
$$ location $$ 網址記憶體
$$ url $$http://正確的網址
$$ fileRef $$ 6E463C2583E17C63EF9EAC4EFBF2AEAFA04794EB.crl
$$ issuerName $$ CA 的名稱
此外,我可以通過 Microsoft 網路監視器看到對正確 URL 的 HTTP 請求和伺服器的響應(HTTP 304 Not Modified)。
我跑了
certutil -verify -urlfetch
,它似乎顯示了同樣的事情:電腦辨識了兩個 URL,都嘗試了,即使http://
連結成功,也會返回相同的錯誤。有沒有辦法讓未加入域的客戶端跳過
ldap:///
連結而只檢查http://
一個?編輯:
網址
ldap:///
是ldap:///CN=<name of CA>,CN=<name of server that is running the CA>,CN=CDP,CN=Public Key Services,CN=Services,CN=Configuration,DC=<domain name>?certificateRevocationList?base?objectClass=cRLDistributionPoint
未加入域的客戶端可能在域網路上,也可能在外部網路上。CDP
http://
可從公共網際網路訪問。
在 Microsoft 支持解決此問題後,我們注意到客戶端無法訪問增量 CRL,因為 IIS 的預設配置不支持帶有
+
字元的文件名和增量 CRL 以+
. 在 IIS 中啟用雙重轉義後,未加入域的客戶端能夠確認證書沒有被吊銷。