c# проверяют сертификат в списке CRL

Как я могу программно проверить, отменяется ли определенный сертификат из его списка CRL CA?

Я делаю это:

X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.ChainPolicy.RevocationFlag = X509RevocationFlag.EntireChain;
ch.ChainPolicy.UrlRetrievalTimeout = new TimeSpan(1000);
ch.ChainPolicy.VerificationFlags = X509VerificationFlags.NoFlag;
ch.ChainPolicy.VerificationTime = DateTime.Now;
ch.Build(certificate);
foreach (X509ChainStatus s in ch.ChainStatus)
{
    string str = s.Status.ToString();
    Console.WriteLine("str: " + str);
}
X509Store store = new X509Store(StoreName.Disallowed, StoreLocation.LocalMachine);
store.Open(OpenFlags.ReadWrite);
bool isRevoked = store.Certificates.Contains(certificate);
store.Close();
return !isRevoked && certificate.Verify();

И я получаю "ул.: RevokedStatusUnknown". Только если я ожидаю спустя многие часы после того, как я отменяю сертификат->, состояние возвращается как Отменяемое, несмотря на то, что я сразу публикую CRL после отмены сертификата. Почему это не получает доступ к CRL мгновенно?

6
задан user252816 27 January 2010 в 15:03
поделиться