Недавно я установил новый домен, присоединившийся к автономному ЦС, на сервере Windows 2012 R2, который является общедоступным и отлично аутентифицируется, однако отозванные сертификаты по-прежнему аутентифицируются. Фактический процесс отзыва на стороне сервера работает нормально, поскольку отозванный сертификат добавляется в CRL после публикации, но сертификат по-прежнему аутентифицирует клиентскую часть.
Я добавил доступные извне местоположения CDP и AIA и очистил локальный кэш CRL на стороне клиента, используя следующие команды:
certutil -urlcache CRL delete
&
certutil -setreg chain\ChainCacheResyncFiletime @now
Я знаю минимальные требования к ОС для последней команды. Клиенты - это Windows 7 и выше.
Я использую простое тестовое приложение на клиенте, которое настроено на использование одного сертификата, поэтому в случае его отмены просто перестанет работать, но в данном случае это не так. Если я удалю сертификат из локальных хранилищ сертификатов, он перестанет работать настолько уверенно, что зависит от этого сертификата.
Все поиски в сети до сих пор привели к указанным выше командам и убедились, что CDP разрешается извне, но я уже рассмотрел эти проблемы.
Ценю и советую
Подумал, стоит сообщить о моих выводах.
Оказывается, Windows аннулировала сертификаты, но некоторое локальное кэширование CRL происходило, как и предполагалось изначально. Кажется, что даже когда сертификат отображается как отозванный, кешированная копия по-прежнему используется независимо от того, пока не пройдет определенный период, однако, насколько я понимаю, две команды, которые я запускал в своем первоначальном сообщении, должны были истечь, и запросил обновление -датировать один с сервера, но похоже, что это не так.
Я ввел дельта-списки отзыва сертификатов, благодаря которым устранение неполадок должно происходить быстрее, и теперь все выглядит нормально, так что в конечном итоге ложная тревога.
Спасибо за совет Грег
I'm using a simple test app on the client that is configured to use the one certificate so if revoked would simply stop working
.
Вам необходимо убедиться, что клиент проверяет CRL с захватом пакета в ваш CRL на tcp / 80. Это займет пять минут.
Если вы хотите подтвердить это Windows Проверка CRL работает, вы можете использовать следующую команду на клиенте:
certutil -f –urlfetch -verify ExportedCertificate.cer
Вам также необходимо включить журнал событий CAPI2, любые сбои проверки CRL будут регистрироваться в нем.
Но способ, которым приложение использует и проверяет сертификат, не обязательно совпадает с тем, как Windows будет использовать и проверять сертификат.