Если у вас есть код, подобный следующему: используется ли OCSP для проверки отзыва в режиме онлайн?
X509Chain ch = new X509Chain();
ch.ChainPolicy.RevocationMode = X509RevocationMode.Online;
ch.Build (certificate);
В документации API нет явных указаний на это:
"Проверка отзыва выполняется с помощью отзыва сертификата онлайн
список (CRL). "
, но без указания деталей о том, как производится проверка
Методы X509Chain.Buld
проверяют, имеет ли свойство szOID_AUTHORITY_INFO_ACCESS
значение - я знаю, что именно здесь хранятся URL-адреса OCSP, поэтому еще раз можно предположить, что OCSP используется
Затем Build вызывает BuildChain, и в CertGeCertificateChain делается вызов, передавая флаги отзыва unsigned int.
Документация для GetCertificateChain содержит возможные флаги, которые могут быть переданы, включая CERT_CHAIN_REVOCATION_CHECK_OCSP_CERT:
"Этот флаг используется внутри сети при создании сети для онлайн
сертификат статуса протокола (OCSP) подписавшего сертификат для предотвращения
циклические проверки отзыва. Во время построения цепочки, если ответ OCSP
подписывается независимым подписавшим OCSP, затем, в дополнение к
оригинальная цепочка, есть вторая цепочка, построенная для OCSP
Сам сертификат подписавшего. Этот флаг используется во время этой второй цепочки
построить, чтобы запретить рекурсивный независимый сертификат подписавшего OCSP. Если
сертификат подписавшего содержит расширение szOID_PKIX_OCSP_NOCHECK,
проверка отзыва пропускается для листового сертификата подписавшего. И то и другое
Проверка OCSP и CRL разрешена. "
Поскольку существует флаг, который «запрещает» проверку OCSP, я думаю, что это произойдет, но опять же было бы неплохо получить явное подтверждение этого