Содержание:
Вывод списка установленных корневых сертификатов
Если у вас возникло подозрение, что некоторые корневые сертификаты в Windows 10 нужно обновить, не спешите сразу приступать к выполнению действий. Возможно, с ними все нормально, а проблемы в работе конкретного ПО связаны с другими причинами. Узнайте, что именно вам нужно установить или обновить. После этого откройте список корневых сертификатов и проверьте наличие нужных файлов.
- Для этого правой кнопкой мыши щелкните по «Пуску» и из появившегося меню выберите пункт «Выполнить».
- Введите команду
mmc
и нажмите Enter, чтобы запустить консоль. Она доступна только в Windows 10 Pro. Если вы получите уведомление об отсутствии команды, прочитайте информацию ниже, где будет показана эта же проверка, но уже через «PowerShell». - В открывшемся окне консоли наведите курсор на меню «Файл» и из него выберите «Добавить или удалить оснастку».
- В списке доступных оснасток найдите «Сертификаты» и щелкните по центральной кнопке «Добавить».
- Далее достаточно будет кликнуть по «Готово», чтобы подтвердить внесение изменений.
- Разверните весь список с папками сертификатов, затем выберите папку «Доверенные корневые центры сертификации» и откройте «Сертификаты». Справа вы видите весь список сертификатов с версиями, датами, информацией о том, кем выдан. Внизу окна будет счетчик элементов в этой папке, что позволит быстрее узнать, сколько всего хранится сертификатов.
Если такой вариант использования консоли вам не подходит или же она недоступна, можно обратиться к «PowerShell». Ее преимущество заключается в том, что помимо основного списка можно вывести на экран только те сертификаты, которые уже закончились или устареют в ближайшие 30 дней.
- Вызовите контекстное меню «Пуска» и выберите из него пункт «Windows PowerShell (администратор)».
- Введите команду
Get-Childitem cert:\LocalMachine\root |format-list
и нажмите Enter для получения полного списка корневых сертификатов. - Ознакомьтесь с ним, просмотрите даты и другие сведения, которые интересуют вас в рамках выполнения задачи.
- Для просмотра устаревающих сертификатов используйте команду
Get-ChildItem cert:\LocalMachine\root| Where {$_.NotAfter -lt (Get-Date).AddDays(30)} |select NotAfter, Subject
. - Тут будут отображены только те сертификаты, которые уже устарели или истекут в ближайший месяц.
Увиденные выше инструкции помогут вам получить больше сведений обо всех корневых сертификатах в Windows 10. Отталкиваясь от полученной информации, уже можно сделать вывод о том, нужно ли их обновлять и каким именно образом это будет реализовано.
Включение автоматического обновления корневых сертификатов
Операционная система Виндовс 10 настроена таким образом, что должна сама время от времени обновлять корневые сертификаты, поскольку это напрямую связано с безопасностью пользователей. Если это по каким-то причинам не происходит, следует предположить, что обновление просто запрещено через настройки локальной политики или необходимый параметр, отвечающий за данное действие, отсутствует. Обладатели Windows 10 Pro могут проверить этот запрет через «Редактор локальной групповой политики».
- Снова запустите утилиту «Выполнить», используя для этого уже знакомое меню или стандартное сочетание клавиш Win + R.
- Введите команду
gpedit.msc
и нажмите Enter для ее подтверждения. - Отобразится окно «Редактора локальной групповой политики». В нем разверните «Конфигурация компьютера» — «Административные шаблоны» — «Система».
- В папке выберите «Управление связью через Интернет», затем перейдите в каталог «Параметры связи через Интернет».
- Отыщите среди политик «Выключить автоматическое обновление корневых сертификатов» и дважды кликните по данному параметру, чтобы открыть его свойства.
- Значение должно быть установлено как «Не задано» или «Отключено». В случае необходимости измените его, затем примените изменения и перезагрузите ПК.
Если вы обнаружили, что параметр и так отключен или же нет возможности просмотреть локальные политики, можно воспользоваться «PowerShell» для проверки параметра в реестре. При его наличии и неправильном значении вносятся соответствующие изменения, которые разблокируют автоматическое обновление корневых сертификатов.
- Откройте «Windows PowerShell» от имени администратора.
- Введите команду
Get-ItemProperty -Path 'HKLM:\Software\Policies\Microsoft\SystemCertificates\AuthRoot' -Name DisableRootAutoUpdate
. - Если на экране отобразилась информация о том, что не удается найти путь, значит, данный параметр вовсе отсутствует и не должен влиять на автоматическое обновление корневых сертификатов.
Иногда появляется сообщение о том, что такой параметр существует и имеет значение «1». Если вы столкнулись с такой ситуацией, откройте «Редактор реестра», перейдите по пути HKLM\Software\Policies\Microsoft\SystemCertificates\AuthRoot
, отыщите там параметр с названием «DisableRootAutoUpdate» и измените его значение на «0».
Ручное обновление корневых сертификатов
Если при помощи автоматического обновления корневых сертификатов достичь желаемого не получается, можно воспользоваться ручным апдейтом. Для этого подходит специальная утилита, позволяющая в рамках одного файла получить все сертификаты, затем посмотреть их, экспортировать только нужные для обновления или установить сразу все. Это будет продемонстрировано в следующей инструкции, которую нужно выполнить пошагово, чтобы все точно получилось.
- Для удобства на диске C (куда установлена ваша ОС), создайте пустую папку под сертификаты. В нашем случае она будет называться «PS» и использоваться в командах. Далее откройте «Командную строку» от имени администратора.
- Введите команду
certutil.exe -generateSSTFromWU c:\PS\roots.sst
, заменив путь на тот, куда вы хотите поместить файл «roots.sst». - По завершении вы должны получить информацию о том, что SST-файл успешно обновлен. Можете закрыть консоль и перейти к следующему шагу.
- Откройте созданную ранее папку и дважды кликните по находящемуся в ней файлу «roots.sst».
- Должно появиться уведомление от консоли управления (MMC), поскольку именно через нее мы запускаем просмотр сертификатов.
- Разверните папку и просмотрите присутствующие тут записи. Если интересуют только конкретные сертификаты, по каждому из них по очереди нажмите ПКМ, выберите «Все задачи» и «Экспорт». Сохраните файл и далее импортируйте его в MMC (детально мы покажем это в следующем разделе материала).
- Однако в большинстве случаев пользователей интересует установка абсолютно всех сертификатов. Вручную экспортировать их долго и сложно, поэтому откройте «PowerShell» от имени администратора и используйте команду
$sstStore = ( Get-ChildItem -Path C:\ps\rootsupd\roots.sst )
. - Далее введите
$sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root
для переноса всех корневых сертификатов в целевую папку их расположения. - В итоге вы должны получить полный список скопированных сертификатов.
- Для их просмотра используйте в «Выполнить» команду
certmgr.msc
. - Вы сразу будете перенаправлены к нужной оснастке и сможете просмотреть, как изменилось хранилище в сравнении с его изначальным видом.
Импорт корневых сертификатов с другого компьютера
Некоторые пользователи сталкиваются с необходимостью настройки ПК в домашней или рабочей группе, когда к локальной сети подключено несколько устройств. Иногда бывает, что на одной копии Windows с корневыми сертификатами все хорошо, а на другой они не обновляются. Для решения определенных задач просто можно импортировать недостающие, предварительно взяв их с того компьютера, где они уже установлены.
- На компьютере с корневыми сертификатами запустите консоль через
mmc
. - Добавьте оснастку с сертификатами так, как это было показано в начале статьи, затем перейдите в нужную папку.
- Правой кнопкой мыши нажмите по интересующему вас сертификату, наведите курсор на «Все задачи» и выберите «Экспорт».
- Сохраните сертификат в виде файла CER.
- Передайте его на другой компьютер, повторите процесс открытия той же папки с сертификатами, нажмите непосредственно по ней ПКМ, наведите курсор на «Все задачи» и выберите «Импорт». Подтвердите добавление нового корневого сертификата.