При удалении службы сертификации Active Directory Certificate Services необходимо выполнить ряд предварительных и пост шагов, необходимых для корректного удалений центра сертификации (Certification Authority или CA) из Active Directory. Необходимо отозвать все выданные сертификаты, удалить закрытые ключи, роль ADCS и вручную очистить AD обо всех упоминаниях удаляемого центра сертификации. При некорректном удалении центра сертификации из AD, приложения, зависящие от инфраструктуры открытого ключа, могут работать неправильно.
Отзыв выданных сертификатов
В первую очередь нужно отозвать все выданные сертификаты. Для этого откройте консоль Certification Authority, разверните узел сервера сертификации и в перейдите в раздел Issued Certificates. В правом окне выберите выданный сертификат и в контекстном меню выберите пункт All Tasks > Revoke Certificate.
Укажите причину отзыва сертификаты (Cease of Operation — Прекращение работы), время с которого он считается недействительным (текущее) и нажмите Yes.
Сертификат пропадет из списка. Аналогичным образом поступите со всеми выданными сертификатами.
Затем откройте свойства ветки Revoke Certificates.
Увеличьте значение поля CRL publication interval (интервал публикации списка отозванных сертификатов) – этот параметр определяет периодичность обновления списка отозванных сертификатов.
Нажмите ПКМ по узлу Revoked Certificates и выберите All Tasks > Publish.
Выберите New CRL и нажмите OK.
Проверьте и, в случае необходимости, откажите в выдаче всем ожидающим запросам на выдачу сертификатов. Для этого в контейнере Pending Requests выделите запрос и в контекстном меню выберите All Tasks -> Deny Request.
Удаление роли Active Directory Certificate Services
На сервере с ролью CA откройте командную строку и остановим работы служб сертификации командой:
certutil –shutdown
Чтобы вывести список локально хранящихся закрытых ключей выполним команду:
certutil –key
В нашем примере с CA ассоциирован один закрытый ключ. Удалить его можно командой certutil -delkey CertificateAuthorityName. В качестве имени ключа используется значение, полученное на предыдущем шаге. Например,
certutil –delkey le-DomainController-b44c7ee1-d420-4b96-af19-8610bf83d263
Чтобы убедится, что закрытый ключ CA удален еще раз выполним команду:
certutil –key
Затем откроем консоль Server Manager и удалим роль Active Directory Certificate Services.
После удаления роли сервер нужно перезагрузить.
Удаление объектов CA из Active Directory
При установке центра сертификации в структуре Active Directory создается ряд служебных объектов CA, которые не удаляются при удалении роли ADCS. Удаляется только объект pKIEnrollmentService, благодаря чему клиенты не пытаются запрашивать новые сертификат у выведенного из эксплуатации CA.
Выведем список доступных центров сертификации (он пуст):
certutil
Откроем консоль Active Directory Site and Services и включим отображение сервисных веток, выбрав в верхнем меню пункт View ->Show Services Node.
Затем последовательно удалим следующие объекты AD:
- Центр сертификации в разделе Services -> Public Key Services -> AIA.
- Контейнер с именем сервера CA в разделе Services -> Public Key Services -> CDP.
- CA в разделе Services > Public Key Services > Certification Authorities.
- Проверьте, что в разделе Services -> Public Key Services -> Enrollment Services отсутствует объект pKIEnrollmentService (он должен удалиться во время процесса деинсталляции CA). Если он присутствует, удалите его вручную.
- Удалите шаблоны сертификатов, расположенные в разделе Services -> Public Key Services > Certificate Templates (выбелить все шаблоны CTRL+A).
Удаляем сертификаты, опубликованные в контейнере NtAuthCertificates
При установке нового центра сертификации его сертификаты добавляются и хранятся в контейнере NTAuthCertificates. Их также придется удалить вручную. Для этого с правами администратора предприятия выясним полный LDAP путь к объекту NtAuthCertificates в Active Directory.
certutil -store -? | findstr "CN=NTAuth"
Осталось удалить сертификаты с помощью утилиты certutil , указав полный LDAP путь, полученный на предыдущем шаге.
certutil –viewdelstore “ldap:///CN=NtAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=no1abnopary,DC=local?cACertificate?base?objectclass=certificationAuthority”
Подтверждаем удаление сертификата.
Далее выполним команду:
certutil –viewdelstore “ldap:///CN=NtAuthCertificates,CN=Public Key Services,CN=Services,CN=Configuration,DC=no1abnopary,DC=local?cACertificate?base?objectclass=pKIEnrollmentService”
Подтвердите удаление сертификата.
Удаление базы центра сертификации
База CA автоматически не удаляется при удалении службы ADCS, поэтому эту операцию нужно выполнить вручную, удалив каталог %systemroot%\System32\Certlog.
Удаление сертификатов с контроллеров домена
Необходимо удалить сертификаты, выданные контроллерам домена. Для этого на контроллере домена нужно выполнить команду:
certutil -dcinfo deleteBad
Certutil попытается проверить все сертификаты, выданные DC. Сертификаты, которые не удастся проверить, будут удалены.
На этом полное удаление службы Active Directory Certificate Services из структуры Active Directory завершено.