Заметки о Windows и других программных продуктах Microsoft...

Ошибка 0x80092013 при запуске службы Certification Authority

Ошибка 0x80092013 при запуске службы Certification Authority

Ситуация следующая. Имеются два центра сертификации (Certification Authority, CA) — Offline Root CA (корневой) и Enterprise Subordinate CA (подчиненный). Схема стандартная, подчиненный CA занимается выпуском сертификатов, корневой стоит в выключенном состоянии и включается только для обновления своего сертификата, сертификата подчиненного CA и списка отзыва (Certificate Revocation List, CRL).

И вот, после очередного обновления сертификата подчиненного CA он отказался включаться и выдал ошибку 0x80092013 (CRYPT_E_REVOCATION_OFFLINE). В сообщении об ошибке сказано, что функция отзыва не может проверить список отзыва, поскольку сервер отзыва недоступен. Эта ошибка возникает в следующих ситуациях:

• Недоступен список отзыва (CRL);
• Не опубликовано местоположение CRL;
• Истек срок действия CRL.

ошибка при попытке запуска CA

 

Порывшись в системном журнале, нашел ошибку с Event ID 48. Из сообщения видно, что для сертификата 5 не удается проверить цепочку доверия.

сообщение в журнале с event ID 48

 

Для того, чтобы посмотреть на этот сертификат, нам надо запустить CA. Поэтому временно отключим проверку CRL командой:

certutil –setreg ca\CRLFlags +CRLF_REVCHECK_IGNORE_OFFLINE

отключение проверки CRL

 

Теперь запускаем CA, кликаем правой клавишей на сервере и выбираем пункт меню «Properties».

открываем свойства СА

 

Открывается окно свойств CA. На вкладке «General» находим список сертификатов, выбираем нужный и жмем «View Certificate».

список сертификатов CA

 

В свойствах сертификата находим строчку «CRL Distribution Points» с адресами, по которым должен находится список отзыва. Адресов два — файловая шара на корневом CA и веб-сайт на подчиненном CA. И как и следовало ожидать, ни по одному из адресов CRL не доступен.

точки публикации CRL

 

Для нормальной работы нам нужно найти актуальный CRL. Идем на корневой CA, открываем оснастку «Certification Authority» — «Properties», переходим на вкладку «Extensions» и выбираем из списка расширение «CRL Distribution Point (CDP)». В нем находится список мест, в которых публикуется список отзыва. Что интересно, в списке есть и подчиненный CA, но по какой то причине CRL на него не попал.

свойства Root CA

 

В данной ситуации самое простое, что можно сделать — это вручную разместить CRL в указанном месте. Находим на корневом CA файл CRL, проверяем его актуальность и копируем на подчиненный.

файл CRL

 

Затем включаем обратно проверку:

certutil –setreg ca\CRLFlags -CRLF_REVCHECK_IGNORE_OFFLINE

и рестартуем сервис:

Restart-Service certsvc -force

Сервис стартует успешно, значит все сделано правильно.

включение проверки CRL и перезапуск сервиса

 

 
 
Комментарии
Дмитрий

certutil –setreg ca\CRLFlags +CRLF_REVCHECK_IGNORE_OFFLINE
Спорное решение отключать проверку ради того что бы посмотреть точки распространения. Для этой задачи есть оснастка «PKI предприятия» которая показывает AIA и CDP со сроками действия.