我正在构建一个 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 文件实现证书验证。