2010-03-12 52 views
1

我在Windows Server 2003上有ASP.NET Web服務。我擁有自己的證書頒發機構。我在Web服務中使用自己的客戶端證書進行身份驗證。 我製作客戶證書。我打電話給網絡服務,一切都很好。然後我在證書頒發機構中吊銷此證書。證書已被吊銷證書。 我使用此證書調用Web服務,但Web服務驗證此證書是否正常,但此證書在撤銷之間。我不知道爲什麼?有人幫助我嗎?撤消客戶端X509證書

我在驗證證書上使用此方法。

X509Certificate2.Verify方法

我沒有得到任何異常,證書撤銷之間,但Web服務驗證此證書一樣好。

to klausbyskov: 謝謝。所以,我試試這個:

public void CreateUser(X509Certificate2 cert) 
    { 

     ServicePointManager.UseNagleAlgorithm = true; 
     ServicePointManager.Expect100Continue = true; 
     ServicePointManager.CheckCertificateRevocationList = true; 
     ServicePointManager.DefaultConnectionLimit = ServicePointManager.DefaultPersistentConnectionLimit; 

     if (VefiryCert(cert)) 
     { 
      //... 
     } 
    } 

但吊銷證書仍確認爲好

回答

0

嘗試調用Verify()ServicePointManager類的CheckCertificateRevocationList屬性設置爲true

0

嘗試在應用程序配置文件中設置它:

也許可以幫助..

0

驗證是基於各種因素。

證書是否具有證書吊銷列表分發點(CDP)擴展,並且是否可以訪問CRL? (https://tools.ietf.org/html/rfc5280#section-4.2.1.13

注意:CRLs被緩存!

檢查有效性而沒有幾乎任何延遲的唯一方法是詢問CA本身。但我不認爲這是一種選擇。

對於您正在嘗試實現的在線響應協議已經引入(http://www.ietf.org/rfc/rfc2560.txt)。

該證書是否具有AIA OCSP擴展,並且您是否設置了OCSP響應器?什麼是OCSP的觸發器/間隔(因爲它的數據也是CRL)?