1

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

我有以下代码

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

4

1 回答 1

3

如果证书无效,您将无法做到这一点。IIS 应在握手期间检查,如果无效则中止连接。您需要做的就是验证 Subject DN 所代表的身份是否被授权成为该应用程序的客户端。

于 2012-07-20T19:15:20.487 回答