2013-08-06 86 views
1

我有一個網絡中的證書服務器,它有兩個服務器在鏈中,因此當我在MMC中查看我的證書的證書路徑時,我在它上面看到兩個證書。最初,驗證此證書不起作用,因爲在使用X509Chain.Build()方法的自定義驗證程序中存在撤銷錯誤。因此,由於我意識到我生成的證書不包含任何CRL分發點,因此我使證書服務器生成了它們,因此現在使用複選框「包含在證書服務器的CDP擴展中」,證書服務器生成這個證書的HTTP CRL分發點,我可以看到它。我甚至可以訪問它包含的URL並下載CRL文件。現在的問題是,當我嘗試驗證這個證書在我的服務應用程序的本地系統帳戶下運行,我得到的X509Chain.ChainStatus列表下面的錯誤發出X509Chain生成後:爲什麼我的證書沒有被驗證?

Status: OfflineRevocation 
StatusInformation: The revocation function was unable to check revocation because the revocation server was offline. 

使用控制檯在我的管理員帳戶應用程序中運行,我得到以下錯誤:

Status: RevocationStatusUnknown 
StatusInformation: The revocation function was unable to check revocation for the certificate. 

有沒有人有什麼我可以下一個試圖讓撤銷對我的證書工作,讓我可以真正驗證它的一些想法?我似乎也沒有任何問題ping我的證書服務器,無論是。

+1

首先嚐試在你的證書上運行certutil來驗證您的證書,並看到了什麼CDPS它訪問的細節和詳情錯誤。有關示例,請參閱:admin-enclave.com/en/tutorials/windows/57-how-to-verify-the-certificate-chain-via ...也許您的「服務器」證書CDP無法訪問...他們沒有HTTP CRL分發點(可能試圖通過LDAP)? –

+0

@colinsmith - 謝謝你的回答,我有一個問題給你。如何將certutil與.pfx證書一起使用?我嘗試將我的證書導出爲受密碼保護的pfx文件到桌面,並使用相同的命令進行驗證,但出現「CertUtil:ASN1數據意外結束」錯誤。 – Alexandru

+0

好吧,我通過不導出私鑰的方式工作,因此只是導出一個.cer文件...我現在就來看看這個... – Alexandru

回答

3

爲了追蹤您的問題,我建議您使用certutil.exe來驗證您的證書並查看正在執行的步驟。在這裏看到的例子:

正如你所說,你的問題竟然是與CRL被過期。以下是一些討論CRL的鏈接,以及如何發佈/重新發布它們。

+0

對於那些你在外面的人,我也在CA的擴展中設置了發佈路徑,所以你在發佈你的撤銷列表之前可能也想這樣做。 – Alexandru

+0

我有同樣的確切問題,我的結果從certutil contiains Missing Issuer =「CN = testRoot8」不完整的證書鏈 找不到證書: CN = testRoot8 無法檢查葉證書撤銷狀態...並不知道我'失蹤 –

相關問題