2012-07-20 121 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代表的身份是否有权成为此应用程序的客户端。