Мой вопрос похож на вопрос 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), проблема решена. поэтому, похоже, что когда-то в кеше ничего не может быть воспроизведено.
Я думал, что, возможно, сообщение об ошибке неверно, и на самом деле происходит то, что когда кеш пуст, есть некоторое исключение, которое вызывает это сообщение. другой вариант заключается в том, что, возможно, есть некоторый флаг, который говорит, что когда-либо обновлялся кеш, и если он никогда не обновлялся, он пытается получить информацию с внешнего сервера.
может кто-нибудь указать, в чем причина Эта проблема?
Я также видел такое же поведение ,Он не говорит мне, что сервер отключен, он просто говорит, что не может проверить отзыв. Это не похоже на самозаверяющие сертификаты. – Mark