使用HttpClientCertificate与X509Certificate2检查证书有效性

时间:2012-07-20 05:24:52

标签: c# asp.net iis ssl security

我的IIS(网络服务器)需要客户端证书,我需要检查证书有效性并从数据库中读取一些信息并记录在数据库中(审核)

我有以下代码

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对象并重新检查证书的有效性(为什么)?

1 个答案:

答案 0 :(得分:3)

如果证书无效,你就不会这么做。 IIS应在握手期间检查,如果无效则中止连接。您需要做的就是验证主题DN所代表的身份是否有权成为此应用程序的客户。