检查证书有效期使用HttpClientCertificate与X509Certificate2
问题描述:
我的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对象并重新检查证书的有效性(为什么)?
答
如果证书无效,你不会得到这么多。 IIS应该在握手期间检查,如果无效,则中止连接。您需要做的就是验证由Subject DN代表的身份是否有权成为此应用程序的客户端。