首页 > 解决方案 > 使用 crl 文件验证客户端证书

问题描述

我正在构建一个 wcf c# 服务以在 Windows Server 2012 中运行。我有一个 crl 文件 (sample.crl),我需要根据 crl 文件验证客户端证书。(我的服务器无法访问在线 crl)。即,我需要确保我的整个证书链不存在于 crl 列表中。

我尝试将crl 文件导入到“中间证书颁发机构”下的本地证书存储中。验证码看起来像这样

        var ch = new X509Chain();
        ch.ChainPolicy.RevocationMode = X509RevocationMode.Offline;
        ch.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
        bool result = ch.Build(certificate);

我相信这段代码会根据本地 crl 缓存(certutil -urlcache crl)测试证书。但是我添加到本地证书存储的 crl 并没有显示在本地 crl 缓存中。如何针对我在 C# 中本地拥有的 crl 文件实现证书验证。

标签: wcfcertificate-revocationcertutilx509certificatevalidatorx509chain

解决方案


推荐阅读