Как из certsrv удалить сертификат
Перейти к содержимому

Как из certsrv удалить сертификат

  • автор:

Вывод из эксплуатации центра сертификации Windows enterprise и удаление всех связанных объектов

В этой пошаговой статье описывается, как списать корпоративный ЦС Microsoft Windows и удалить все связанные объекты из службы каталогов Active Directory.

Применимо к: Windows Server
Исходный номер базы знаний: 889250

Аннотация

При удалении центра сертификации (ЦС) сертификаты, выданные центром сертификации, обычно остаются невыполненных. Если невыполненные сертификаты обрабатываются различными клиентскими компьютерами инфраструктуры открытых ключей, проверка завершится ошибкой, и эти сертификаты не будут использоваться.

В этой статье описывается, как отозвать незавершенные сертификаты и выполнить различные другие задачи, необходимые для успешного удаления ЦС. Кроме того, в этой статье описывается несколько служебных программ, которые можно использовать для удаления объектов ЦС из домена.

Шаг 1. Отзыв всех активных сертификатов, выданных корпоративным ЦС

  1. Выберите «Пуск«, наведите указатель на «Администрирование«, а затем выберите центр сертификации.
  2. Разверните центр сертификации, а затем выберите папку «Выданные сертификаты».
  3. В области справа выберите один из выданных сертификатов и нажмите клавиши CTRL+A, чтобы выбрать все выданные сертификаты.
  4. Щелкните выбранные сертификаты правой кнопкой мыши, выберите «Все задачи» и выберите » Отозвать сертификат».
  5. В диалоговом окне отзыва сертификата выберите » Прекращение работы» в качестве причины отзыва, а затем нажмите кнопку «ОК».

Шаг 2. Увеличение интервала публикации списка отзыва сертификатов

  1. В оснастке консоли управления (MMC) центра сертификации щелкните правой кнопкой мыши папку «Отозванные сертификаты» и выберите пункт «Свойства».
  2. В поле «Интервал публикации списка отзыва сертификатов» введите подходящее длинное значение и нажмите кнопку «ОК».

Время существования списка отзыва сертификатов (CRL) должно быть больше времени, которое осталось для сертификатов, которые были отозваны.

Шаг 3. Публикация нового списка отзыва сертификатов

  1. В оснастке MMC центра сертификации щелкните правой кнопкой мыши папку «Отозванные сертификаты».
  2. Выберите «Все задачи«, а затем нажмите кнопку » Опубликовать».
  3. В диалоговом окне «Публикация списка отзыва сертификатов» выберите «Создать список отзыва сертификатов» и нажмите кнопку «ОК».

Шаг 4. Отклонение ожидающих запросов

По умолчанию ЦС предприятия не хранит запросы на сертификаты. Однако администратор может изменить это поведение по умолчанию. Чтобы отклонить все ожидающие запросы сертификатов, выполните следующие действия.

  1. В оснастке MMC центра сертификации выберите папку «Ожидающие запросы».
  2. В области справа выберите один из ожидающих запросов и нажмите клавиши CTRL+A, чтобы выбрать все ожидающие сертификаты.
  3. Щелкните выбранные запросы правой кнопкой мыши, выберите «Все задачи«, а затем выберите » Отклонить запрос».

Шаг 5. Удаление служб сертификатов с сервера

  1. Чтобы остановить службы сертификатов, нажмите кнопку «Пуск«, выберите «Выполнить», введите cmd и нажмите кнопку «ОК».
  2. В командной строке введите certutil -shutdown и нажмите клавишу ВВОД.
  3. В командной строке введите certutil -getreg CA\CSP\Provider и нажмите клавишу ВВОД. Обратите внимание на значение поставщика в выходных данных. Например:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\Fabrikam Root CA1 G2\csp: Provider REG_SZ = Microsoft Software Key Storage Provider CertUtil: -getreg command completed successfully. 

Если значение равно microsoft Strong Cryptographic Provider или Microsoft Enhanced Cryptographic Provider версии 1.0, введите CertUtil -Key и нажмите клавишу ВВОД.
Если значение равно поставщику хранилища ключей программного обеспечения Майкрософт, введите CertUtil -CSP KSP -Key и нажмите клавишу ВВОД.
Если значение другое, введите CertUtil -CSP -Key и нажмите клавишу ВВОД. Эта команда отображает имена всех установленных поставщиков служб шифрования (CSP) и хранилищ ключей, связанных с каждым поставщиком. В списке хранилищ ключей будет указано имя вашего ЦС. Имя будет указано несколько раз, как показано в следующем примере:

(1) Базовый поставщик шифрования Майкрософт версии 1.0:
1a3b2f44-2540-408b-8867-51bd6b6ed413
MS IIS DCOM ClientSYSTEMS-1-5-18
MS IIS DCOM Server
Корневой ЦС Windows 2000 Enterprise
MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500 afd1bc0a-a93c-4a31-8056-c0b9ca632896
Microsoft Internet Information Server
NetMon
MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500 (5) Microsoft Enhanced Cryptographic Provider v1.0:
1a3b2f44-2540-408b-8867-51bd6b6ed413
MS IIS DCOM ClientSYSTEMS-1-5-18
MS IIS DCOM Server
Корневой ЦС Windows 2000 Enterprise
MS IIS DCOM ClientAdministratorS-1-5-21-436374069-839522115-1060284298-500 afd1bc0a-a93c-4a31-8056-c0b9ca632896
Microsoft Internet Information Server
NetMon
MS IIS DCOM ClientAdministratorS-1-5-21-842925246-1715567821-839522115-500

certutil -delkey CertificateAuthorityName 

Примечание. Если имя ЦС содержит пробелы, заключите его в кавычки.

В этом примере имя центра сертификации — Windows2000 Корпоративный корневой ЦС. Таким образом, командная строка в этом примере выглядит следующим образом:

certutil -delkey "Windows2000 Enterprise Root CA" 
  1. Выберите «Пуск«, «Администрирование» и «Диспетчер сервера».
  2. В разделе «Сводка ролей» выберите «Удалить роли «, чтобы запустить мастер удаления ролей, а затем нажмите кнопку «Далее».
  3. Снимите флажок «Службы сертификатов Active Directory «, а затем нажмите кнопку «Далее».
  4. На странице «Подтверждение параметров удаления » просмотрите сведения и нажмите кнопку » Удалить».
  5. Если службы IIS запущены и вам будет предложено остановить службу перед продолжением процесса удаления, нажмите кнопку » ОК».
  6. После завершения работы мастера удаления ролей перезапустите сервер. Это завершает процесс удаления.

Процедура немного отличается, если на одном сервере установлено несколько служб ролей служб сертификатов Active Directory (AD CS). Чтобы удалить ЦС, но сохранить другие службы ролей AD CS, выполните следующие действия.

Для выполнения этой процедуры необходимо войти в систему с тем же разрешением, что и пользователь, который установил ЦС. Если вы удаляете корпоративный ЦС, для выполнения этой процедуры требуется членство в enterprise Admins или его эквиваленте. Дополнительные сведения см. в статье «Role-Based администрирование».

  1. Выберите «Пуск«, «Администрирование» и «Диспетчер сервера».
  2. В разделе «Сводка ролей» выберите службы сертификатов Active Directory.
  3. В разделе «Службы ролей» выберите «Удалить службы ролей».
  4. Установите этот флажок, чтобы снять флажок центра сертификации, а затем нажмите кнопку «Далее».
  5. На странице «Подтверждение параметров удаления » просмотрите сведения и нажмите кнопку » Удалить».
  6. Если служба IIS запущена и вам будет предложено остановить службу перед продолжением процесса удаления, нажмите кнопку «ОК».
  7. После завершения работы мастера удаления ролей необходимо перезапустить сервер. Это завершает процесс удаления.

Если остальные службы ролей, такие как служба оперативного реагирования, были настроены для использования данных из удаленного ЦС, необходимо перенастроить эти службы для поддержки другого ЦС. После удаления ЦС на сервере будут оставлены следующие сведения:

  • База данных ЦС.
  • Открытый и закрытый ключи ЦС.
  • Сертификаты ЦС в личном хранилище.
  • Сертификаты ЦС в общей папке, если общая папка была указана во время установки AD CS.
  • Корневой сертификат цепочки ЦС в хранилище доверенных корневых центров сертификации.
  • Промежуточные сертификаты цепочки ЦС в хранилище промежуточных центров сертификации.
  • Список отзыва сертификатов ЦС.

По умолчанию эти сведения хранятся на сервере в случае удаления, а затем переустановки ЦС. Например, вы можете удалить и переустановить ЦС, если вы хотите изменить автономный ЦС на корпоративный ЦС.

Шаг 6. Удаление объектов ЦС из Active Directory

При установке служб сертификатов Майкрософт на сервере, который является членом домена, в контейнере конфигурации в Active Directory создается несколько объектов.

Ниже перечислены следующие объекты.

  • Объект certificateAuthority
    • Расположен в cn=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRootDomain.
    • Содержит сертификат ЦС для ЦС.
    • Расположение опубликованного доступа к данным центра (AIA).
    • Расположен в cn=ServerName,CN=CDP,CN=Public Key Service,CN=Services,CN=Configuration,DC=ForestRoot,DC=com.
    • Содержит список отзыва сертификатов, периодически опубликованный центром сертификации.
    • Опубликованное расположение точки распространения списка отзыва сертификатов (CDP).
    • Расположен в cn=Certification Authorities,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot,DC=com.
    • Содержит сертификат ЦС для ЦС.
    • Расположен в папке CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,DC=ForestRoot,DC=com.
    • Создается ЦС предприятия.
    • Содержит сведения о типах сертификатов, которые ЦС настроен для выдачи. Разрешения на этот объект могут контролировать, какие субъекты безопасности могут регистрироваться в этом ЦС.

    При удалении ЦС удаляется только объект pKIEnrollmentService. Это предотвращает попытки клиентов зарегистрироваться в списаном ЦС. Другие объекты сохраняются, так как сертификаты, выданные центром сертификации, вероятно, по-прежнему остаются невыполненных. Эти сертификаты необходимо отозвать, выполнив процедуру, описанную в разделе «Шаг 1 . Отзыв всех активных сертификатов, выданных корпоративным ЦС».

    Чтобы клиентские компьютеры инфраструктуры открытых ключей (PKI) успешно обрабатывали эти необработанные сертификаты, компьютеры должны находить пути доступа к данным центра (AIA) и точки распространения CRL в Active Directory. Рекомендуется отозвать все необработанные сертификаты, продлить срок действия списка отзыва сертификатов и опубликовать список отзыва сертификатов в Active Directory. Если невыполненные сертификаты обрабатываются различными PKI-клиентами, проверка завершится ошибкой, и эти сертификаты не будут использоваться.

    Если обслуживание точки распространения CRL и AIA в Active Directory не является приоритетом, эти объекты можно удалить. Не удаляйте эти объекты, если предполагается обработать один или несколько ранее активных цифровых сертификатов.

    Удаление всех объектов служб сертификации из Active Directory

    Не удаляйте шаблоны сертификатов из Active Directory, пока не удалите все объекты ЦС в лесу Active Directory.

    Чтобы удалить все объекты служб сертификации из Active Directory, выполните следующие действия.

    1. Определите CACommonName ЦС. Для этого выполните следующие действия:
      1. Нажмите кнопку «Пуск», выберите «Выполнить», введите командную строку в поле «Открыть», а затем нажмите кнопку «ОК».
      2. Введите certutil и нажмите клавишу ВВОД.
      3. Запишите значение name, которое принадлежит вашему ЦС. Для выполнения последующих действий в этой процедуре потребуется CACommonName.
      ldifde -r "cn= CACommonName" -d "CN=Public Key Services,CN=Services,CN=Configuration,DC= ForestRoot,DC=com" -f output.ldf 

      В этой команде CACommonName представляет значение name , которое вы определили на шаге 1. Например, если значение name — CA1 Contoso, введите следующее:

      ldifde -r "cn=CA1 Contoso" -d "cn=public key services,cn=services,cn=configuration,dc=contoso,dc=com" -f remainingCAobjects.ldf 
      ldifde -i -f remainingCAobjects.ldf 

      Важно! Вы не должны удалять шаблоны сертификатов, пока не будут удалены все центры сертификации. Если шаблоны случайно удалены, выполните следующие действия.

      1. Убедитесь, что вы вошли на сервер, на котором работают службы сертификатов, от имени администратора предприятия.
      2. В командную строку введите следующую команду и нажмите ВВОД:
      cd %windir%\system32 
      regsvr32 /i:i /n /s certcli.dll 

      Чтобы удалить шаблоны сертификатов, выполните следующие действия.

      1. В левой области оснастки MMC «Сайты и службы Active Directory » выберите папку «Шаблоны сертификатов».
      2. В области справа выберите шаблон сертификата и нажмите клавиши CTRL+A, чтобы выбрать все шаблоны. Щелкните выбранные шаблоны правой кнопкой мыши, выберите команду «Удалить», а затем выберите » Да».

      Шаг 7. Удаление сертификатов, опубликованных в объекте NtAuthCertificates

      После удаления объектов ЦС необходимо удалить сертификаты ЦС, опубликованные в объекте NtAuthCertificates . Чтобы удалить сертификаты из хранилища, NTAuthCertificates используйте следующую команду:

      certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key Services. DC=ForestRoot,DC=com?cACertificate?base?objectclass=certificationAuthority" 
      certutil -viewdelstore " ldap:///CN=NtAuthCertificates,CN=Public Key Services. DC=ForestRoot,DC=com?cACertificate?base?objectclass=pKIEnrollmentService" 

      Для выполнения этой задачи у вас должны быть разрешения администратора предприятия.

      Действие -viewdelstore вызывает пользовательский интерфейс выбора сертификата для набора сертификатов в указанном атрибуте. Вы можете просмотреть сведения о сертификате. Вы можете отменить диалоговое окно выбора, чтобы не вносить никаких изменений. При выборе сертификата этот сертификат удаляется при закрытии пользовательского интерфейса и полном выполнении команды.

      Используйте следующую команду, чтобы просмотреть полный путь LDAP к объекту NtAuthCertificates в Active Directory:

      certutil -viewdelstore -? | findstr "CN=NTAuth" 

      Шаг 8. Удаление базы данных ЦС

      При удалении служб сертификации база данных ЦС остается неизменной, чтобы ЦС можно было повторно создать на другом сервере.

      Чтобы удалить базу данных ЦС, удалите папку %systemroot%\System32\Certlog .

      Шаг 9. Очистка контроллеров домена

      После удаления ЦС сертификаты, выданные контроллерам домена, необходимо удалить.

      Чтобы удалить сертификаты, выданные контроллерам домена Windows Server 2000, используйте служебную программу Dsstore.exe из комплекта ресурсов Microsoft Windows 2000.

      Чтобы удалить сертификаты, выданные контроллерам домена Windows Server 2000, выполните следующие действия.

      1. Нажмите кнопку «Пуск», выберите команду «Выполнить», введите cmd и нажмите клавишу ВВОД.
      2. На контроллере домена введите dsstore -dcmon в командной строке и нажмите клавишу ВВОД.
      3. Введите 3 и нажмите клавишу ВВОД. Это действие удаляет все сертификаты на всех контроллерах домена.

      Примечание. Служебная Dsstore.exe будет пытаться проверить сертификаты контроллера домена, выданные каждому контроллеру домена. Сертификаты, которые не проверяются, удаляются из соответствующего контроллера домена.

      Чтобы удалить сертификаты, выданные контроллерам домена Windows Server 2003, выполните следующие действия.

      Не используйте эту процедуру, если вы используете сертификаты, основанные на шаблонах контроллера домена версии 1.

      1. Нажмите кнопку «Пуск», выберите команду «Выполнить», введите cmd и нажмите клавишу ВВОД.
      2. В командной строке контроллера домена введите certutil -dcinfo deleteBad. Certutil.exe пытается проверить все сертификаты контроллера домена, выданные контроллерам домена. Сертификаты, которые не проверяются, удаляются.

      Чтобы принудительно применить политику безопасности, выполните следующие действия.

      1. Нажмите кнопку «Пуск», выберите «Выполнить» , введите командную строку в поле «Открыть» и нажмите клавишу ВВОД.
      2. В командной строке введите соответствующую команду для соответствующей версии операционной системы и нажмите клавишу ВВОД:
      3. Для Windows Server 2000:

      secedit /refreshpolicy machine_policy /enforce 
      gpupdate /force 

      Удаление сертификата

      Для того чтобы удалить сертификат, полученный в центре сертификации, но не установленный в хранилище, выполните следующие действия:

      1. Откройте раздел Текущий пользователь ->Настройки ->Данные центра регистрации.
      2. Для удаление сертификата выберите из списка сертификат, который необходимо удалить, и нажмите на кнопку Удалить.
      3. На запрос системы подтвердите свое решение.
      4. Цифровой сертификат будет удален из списка сертификатов, полученных в Удостоверяющем центре.

      Как из certsrv удалить сертификат

      Visual Basic (Декларация)
      C#
      C++
      J#
      JScript
      Xml
      Сценарий Visual Basic

      Если необходимо использовать другой сертификат для веб-узла, который предстоит опубликовать на веб-сервере, после экспорта сертификата с веб-сервера, для которого он был запрошен, и импорта сертификата на компьютер Forefront TMG, необходимо исключить связь экспортированного сертификата с веб-узлом в службах IIS. Кроме того, можно удалить сертификат с веб-сервера. Это уменьшит вероятность пользования сертификатом в другом месте. Чтобы удалить сертификат с веб-сервера выполните следующие действия. Эти действия позволяют удалить сертификат с веб-узла в службах IIS с последующим исключением из компьютера.

      Чтобы удалить сертификат с веб-узла в службах IIS
      1. Нажмите на веб-сервере кнопку Пуск и выберите Администрирование. Далее щелкните Диспетчер служб IIS.
      2. В диспетчере служб IIS разверните элемент Веб-узлы, щелкните правой кнопкой мыши имя веб-узла приложения и выберите пункт Свойства.
      3. В диалоговом окне свойств откройте вкладку Безопасность каталога.
      4. На вкладке Безопасность каталога нажмите кнопку Сертификат сервера, чтобы запустить мастер сертификатов веб-сервера.
      5. На странице Вас приветствует мастер сертификатов веб-сервера щелкните Далее.
      6. На странице Изменение текущего назначения сертификата выберите команду Удалить текущий сертификат и нажмите кнопку Далее.
      7. На странице Удаление сертификата нажмите кнопку Далее.
      8. На странице Завершение работы мастера сертификатов веб-сервера нажмите кнопку Готово.
      9. Закройте Диспетчер служб IIS.
      Чтобы удалить сертификат из компьютера, необходимо выполнить следующие действия.
      1. Откройте консоль MMC, созданную в шаге Установка сертификата коммерческого центра сертификации. Для этого нажмите кнопку Пуск, выберите Все программы, далее Администрирование и щелкните LocalComputerCertificates.msc (или имя, указанное при сохранении параметров консоли).
      2. В дереве консоли разверните узел Сертификаты (локальный компьютер), а также элемент Личный и щелкните Сертификаты и правой кнопкой мыши нажмите имя сертификата. Щелкните Удалить, затем ОК в диалоговом окне предупреждения.

      How do I programmatically remove a certificate in Trusted Root Certification Authorities?

      I need to be able to remove a specific certificate from each PC in my organization. Yes, I could go seat-to-seat, but I have until Thursday to pull it off, and I don’t have the manpower to go seat-to-seat. Is there a programmatic way of doing this using C#?

      • c#
      • internet-explorer
      • digital-certificate
      • certificate-authority

      asked Mar 16, 2009 at 21:24
      4,507 9 9 gold badges 52 52 silver badges 79 79 bronze badges

      2 Answers 2

      I don’t think you need to crank out any C# — take a look at certmgr.exe /del .

      If you really do want to write some C# today to do this, then take a look at X509Store.Remove .

      answered Mar 16, 2009 at 21:32
      Martin Carpenter Martin Carpenter
      5,923 1 1 gold badge 29 29 silver badges 32 32 bronze badges

      I’m looking at those pages. Unfortunately, they don’t tell me how to access (if at all) «trusted Root Certification Authorities». I can’t see how to get to that store.

      Mar 16, 2009 at 22:21

      The Trusted Root Certification Authorities store is just called «root». Or are you saying you having a «permission denied» problem?

      Mar 16, 2009 at 22:33

      Nope.. I didn’t know it was called ROOT. That solved everything. It’s the little details that kill you.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *