【发布时间】:2013-06-05 05:33:30
【问题描述】:
我的问题类似于this 问题。
我正在尝试仅使用本地 CRL 检查吊销列表。
我正在使用带有以下参数的 X509Chain.Build():
var chainMachine = new X509Chain(true);
chainMachine.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
chainMachine.ChainPolicy.UrlRetrievalTimeout = TimeSpan.FromSeconds(30);
chainMachine.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;
chainMachine.ChainPolicy.VerificationTime = DateTime.Now;
chainMachine.ChainPolicy.RevocationMode = X509RevocationMode.Offline;
但我收到以下错误:
- RevocationStatusUnknown => 吊销功能无法检查证书的吊销。
- OfflineRevocation => 吊销功能无法检查证书的吊销,因为吊销服务器是 离线。
奇怪的是,一旦我尝试在线检查吊销列表(因此 CRL 将被更新),问题已解决。所以看起来一旦缓存中有任何内容,问题就无法再重现了。
我认为错误消息可能不正确,实际发生的情况是,当缓存为空时,会出现一些异常导致此消息弹出。 另一种选择是,也许有一些标志表明缓存是否已在某个时候更新,如果它从未更新过,它会尝试从外部服务器获取信息
谁能指出这个问题的原因是什么?
【问题讨论】:
-
我也看到了同样的行为。它没有告诉我服务器离线,它只是说它无法检查撤销。自签名证书似乎不会发生这种情况。
标签: x509certificate2 certificate-revocation