2012-07-20 117 views
1

我的IIS(Web服務器)要求客戶端證書,我需要檢查證書的有效性和讀取數據庫的一些信息和記錄(審計)檢查證書有效期使用HttpClientCertificate與X509Certificate2

我有以下代碼

using System.Security.Cryptography.X509Certificates; 

... 

HttpClientCertificate cert = Request.ClientCertificate;  
if (cert.IsPresent && cert.IsValid) { 
    X509Certificate2 cer = new X509Certificate2(cert.Certificate); 
    bool verified = cer.Verify(); 
    ... 
    AuditLog(...); 
} 

cert.IsValid顯示證書有效。我是否需要實例化X509Certificate2對象並重新檢查證書的有效性(爲什麼)?

回答

3

如果證書無效,你不會得到這麼多。 IIS應該在握手期間檢查,如果無效,則中止連接。您需要做的就是驗證由Subject DN代表的身份是否有權成爲此應用程序的客戶端。