С 1 октября 2021 года закончился срок действия сертификата IdenTrust DST Root CA X3 (одного из основных корневых сертификатов, применяемых в сети), который установлен на многих устройствах.
Из-за этого владельцы ПК на Windows 7, Windows Server 2008 с выключенными обновлениями и Windows XP могут столкнуться с проблемой появления ошибки: «ERR_CERT_DATE_INVALID»,«ERR_DATE_INVALID» и прочими ошибками сертификатов при входе на многие сайты.
Есть два способа решить эту проблему: либо установить новый сертификат, либо установить обновления ОС Windows.
Решение через ручную установку сертификата
Скачать сертификат можно по ссылке: https://letsencrypt.org/certs/isrgrootx1.der / зеркало (.der, 1.35Кб)
Необходимо запустить скачанный файл, на вкладке «Общие» нажать «Установить сертификат».
Выберите расположение «Локальный компьютер» и нажмите «Далее».
Выберите пункт «Поместить все сертификаты в следующее хранилище», нажмите «Обзор», выберите раздел «Доверенные корневые центры сертификации», нажмите «ОК» и «Далее», а в следующем окне – «Готово». При появлении вопросов об установке сертификатов – согласитесь на установку.
После этого перезапустите браузер и вновь попробуйте зайти на необходимый сайт.
Решение через установку обновлений
Для решения ошибки сертификата нужно установить обновления KB3020369 и KB3125574:
- KB3020369 из каталога Центра обновлений Microsoft
- KB3125574 из каталога Центра обновлений Microsoft
Дополнительно
Иногда установка одного лишь IdenTrust DST Root CA X3 может не помочь, так же рекомендуем дополнительно установить следующие корневые сертификаты:
- Go Daddy Root Certificate Authority
- GlobalSign Root CA
- Информация о материале:
- Опубликовано: 2020-05-23
- Обновлено: 2020-06-22
- Автор: Олег Головский
Не секрет, что Windows XP отправлена на свалку и более не поддерживается разработчиком, а при использовании различных веб-браузеров могут возникать ошибки SSL сертификата: недостаточно информации для проверки этого сертификата.
Ошибка сертификата в Windows XP может проявляться в разных браузерах включая Opera, Chrome и конечно Internet Explorer — все они используют одно хранилище сертификатов, которое разумеется давно устарело и не обновляется по причине отсутствия поддержки Windows XP. Именно по причине устаревших сертификатов мы и наблюдаем в браузерах ошибки типа: «недостаточно информации для проверки этого сертификата».
Как обновить корневые сертификаты Windows XP
Ручками обновить будет довольно проблематично. Официальных пакетов обновляющих корневые сертификаты Windows XP не существует.
На просторах Интернетов был найден один рецепт, состоящий из «заточки» пакета обновления сертификатов от «висты» под «хр», процесс выглядит следующим образом:
1. Скачиваем «rvkroots.exe» Microsoft download (http://www.microsoft.com/download/details.aspx?id=41542 https://web.archive.org/web/20171119114944/http://download.windowsupdate.com/d/msdownload/update/software/secu/2015/03/rvkroots_3f2ce4676450c06f109b5b4e68bec252873ccc21.exe), unzip его в каталог (например с помощью WinRAR), в файле «rvkroots.inf» переменную VERSION устанавливаем «5,0,2195,0» и VER в «005» соответственно. Скачиваем «http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/disallowedcert.sst» в каталог куда был распакован «rvkroots.exe» с заменой старого файла. После из всего содержимого каталога создаём самораспаковывающийся архив (Create Self-Extracting Archive) WinRAR отметив SFX опцию и добавив следующие SFX-команды (ака комментарий):
TempMode
Silent=1
Overwrite=1
Setup=Rundll32.exe advpack.dll,LaunchINFSection rvkroots.inf,DefaultInstallТеперь мы имеем файл отзывающий все небезопасные (устаревшие) сертификаты!
2. Для обновления корневых сертификатов (Root Certificate Update) скачиваем «rootsupd.exe» (http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe https://web.archive.org/web/20170829230259/http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/rootsupd.exe), unzip его в каталог (например с помощью WinRAR), в «rootsupd.inf» значение переменной VERSION ставим «40,0,2195,0» и в VER «040» соответственно, скачиваем в каталог куда был распакован «rootsupd.exe» с заменой старых файлов,
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/authroots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/delroots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/roots.sst»
«http://www.download.windowsupdate.com/msdownload/update/v3/static/trustedr/en/updroots.sst»
После из всего содержимого каталога создаём самораспаковывающийся архив (Create Self-Extracting Archive) WinRAR отметив SFX опцию и добавив следующие SFX-команды (ака комментарий):TempMode
Silent=1
Overwrite=1
Setup=Rundll32.exe advpack.dll,LaunchINFSection rootsupd.inf,DefaultInstallТеперь у нас есть файл обновлящий корневые сертификаты!
Эта проблема недавно решалась на удалённой машине Windows XP и уже собраны пакеты для отзыва и обновления корневых сертификатов, кому лень собирать можете скачать уже готовые:
Только после полного отключения блокировщика скриптов и рекламы на этом месте появится полезная подсказка/ссылка/код/пример конфигурации/etc!
Браузер Firefox использует собственное хранилище корневых сертификатов и может работать без обновления корневых сертификатов на Windows XP.
Рекомендуемый контент
Хочу создать программу для автоматизации работы с KSC c помощью KlAkOAPI при запуске проверочного кода для загрузки информации об обновлениях постоянно выходит ошибка о использовании самоподписанного сертификата, которую не получается убрать, как можно решить данную проблему?
Вот сам код программы:
from KlAkOAPI.AdmServer import KlAkAdmServer
from KlAkOAPI import Updates
from datetime import timedelta
import urllib3
import ssl # Импортируем модуль ssl
import json
username = ‘KLAPI’
password = ‘1234QwZ’
KSC_LIST = {
‘WINDOWS’: ‘https://127.0.0.1:13299’
}
def ConnectKSC(ip):
«»»Подключается к серверу Kaspersky Security Center.»»»
while True:
try:
connect = KlAkAdmServer.Create(ip, username, password, verify=False, vserver=»)
if connect:
print(‘Успешно подключился к {}’.format(ip))
else:
print(‘Ошибка подключения к {}’.format(ip))
return None # Возвращает None, если подключение не удалось. Не завершает программу.
return connect
except Exception as e:
print(f»Ошибка подключения: {e}»)
return None # Возвращает None, если подключение не удалось
def get_status_hosts(server, ip):
«»»Получает и печатает информацию о статусе обновлений для сервера KSC.»»»
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
params = [] # params не используется
if server is not None:
try:
# Создаем SSL-контекст, который не проверяет сертификаты
context = ssl.create_default_context()
context.check_hostname = False
context.verify_mode = ssl.CERT_NONE
# Модифицируем объект сессии для отключения проверки SSL
server.session.verify = False # Отключаем проверку глобально для сессии
server.session.cert = None # Удаляем существующий сертификат
straccessor = Updates.KlAkUpdates(server).GetUpdatesInfo(pFilter=params) # Нет аргумента ssl_context
ncount = straccessor.RetVal()
if ip == KSC_LIST[‘WINDOWS’]:
if 1 in ncount: # Проверяем, что индекс существует
data = ncount[1]
print(»)
print(‘KSC ======== [ {} ] ========’.format(KSC_LIST[‘WINDOWS’]))
print(‘Дата создания: {}’.format(data[‘Date’] + timedelta(hours=3)))
print(‘Дата получения: {}’.format(data[‘KLUPDSRV_BUNDLE_DWL_DATE’] + timedelta(hours=3)))
print(‘============================’)
else:
print(«Не удалось получить данные для WINDOWS KSC»)
else:
print(f»Неизвестный IP-адрес KSC: {ip}») # Добавлена проверка на некорректный IP-адрес KSC
except Exception as e:
print(f»Ошибка при получении информации об обновлениях с {ip}: {e}»)
else:
print(‘Ошибка доступа к серверу’) # Это сообщение может вводить в заблуждение, если подключение к серверу не удалось во время ConnectKSC.
if __name__ == ‘__main__’: # Исправлена ошибка ‘name’ на ‘__name__’
for ip in KSC_LIST.values():
server = ConnectKSC(ip)
if server: # Продолжаем только если подключение успешно
try:
get_status_hosts(server, ip)
except Exception as e:
print(f»Ошибка в get_status_hosts для {ip}: {e}»)
else:
print(f»Не удалось подключиться к {ip}. Пропускаем проверку статуса обновлений.») # Добавлено сообщение, если подключение не удалось.
Ошибка которая появляется при запуске кода:
Успешно подключился к https://127.0.0.1:13299
C:\Users\user\PycharmProjects\ksc\.venv\Lib\site-packages\urllib3\connectionpool.py:1097: InsecureRequestWarning: Unverified HTTPS request is being made to host ‘127.0.0.1’. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
warnings.warn(
Не удалось получить данные для WINDOWS KSC
Process finished with exit code 0
Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 03.11.16 11:37 | ||
Оценка: |
Ситуация следующая — есть такая программка для создания запроса на ЭЦП.
В требованиях у этой штуки — .NET FrameWork 3.5 SP1
На семёрке она работает как положено, на XP не хочет.
Я знаю что поддержка XP прекращена, но сменить её нет возможности, это рабочее место в одной не самой богатой гос. конторе.
Автоматическое обновление включено и система обновлена. .NET Framework нужной версии установлен, со всеми хотфиксами.
Разбор логов показал, что не получается создать безопасное подключение с сайтом разработчика, откуда выкачиваются данные или хз что.
Собственно, попытка просто зайти на этот сайт — заканчивается сообщением IE о том, что сертификат не валиден.
Я так понимаю, что это проблема самой XP, она не может удостовериться что сертификат действительный.
Собственно вопрос, как это побороть? Я на данном этапе не пойму в чём конкретно проблема. Нет каких-то новых корневых сертификатов? Отсутствует новый механизм проверки подписей в винде? Или ещё что-то?
Re: Windows XP, проблема с сертификатами
От: |
wildwind |
||
Дата: | 03.11.16 13:02 | ||
Оценка: |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES>в чём конкретно проблема. Нет каких-то новых корневых сертификатов?
Скорее всего. Попробуйте вручную найти и установить нужное обновление. В крайнем случае установите сами нужный сертификат.
Re: Windows XP, проблема с сертификатами
От: |
Anton Batenev |
https://github.com/abbat | |
Дата: | 03.11.16 17:39 | ||
Оценка: |
+1 |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES> Собственно вопрос, как это побороть? Я на данном этапе не пойму в чём конкретно проблема. Нет каких-то новых корневых сертификатов? Отсутствует новый механизм проверки подписей в винде? Или ещё что-то?
Возможно дело в SHA-256 у сертификата (и копать куда-то в эту сторону).
Re: Windows XP, проблема с сертификатами
От: |
wl. |
||
Дата: | 06.11.16 06:36 | ||
Оценка: |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES>Я так понимаю, что это проблема самой XP, она не может удостовериться что сертификат действительный.
ES>Собственно вопрос, как это побороть? Я на данном этапе не пойму в чём конкретно проблема. Нет каких-то новых корневых сертификатов? Отсутствует новый механизм проверки подписей в винде? Или ещё что-то?
в качестве безумного предложения могу посоветовать поставить на xp virtual box, а в него семерку. Насколько я помню, неактивированная Win7 может работать бесконечное время, только обои не даст поменять через месяц
Re[2]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 06.11.16 21:05 | ||
Оценка: |
Здравствуйте, wl., Вы писали:
wl.>в качестве безумного предложения могу посоветовать поставить на xp virtual box, а в него семерку. Насколько я помню, неактивированная Win7 может работать бесконечное время, только обои не даст поменять через месяц
Там конфигурация компа из прошлого века. Сама семёрка может и будет хоть как-то работать, но в виртуалке точно нет.
Re[2]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 06.11.16 21:08 | ||
Оценка: |
Здравствуйте, Anton Batenev, Вы писали:
AB>Возможно дело в SHA-256 у сертификата (и копать куда-то в эту сторону).
О, спасибо. Проверю.
Слышал какой-то звон, но не знал где он
Re[2]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 06.11.16 21:09 | ||
Оценка: |
Здравствуйте, wildwind, Вы писали:
W>Скорее всего. Попробуйте вручную найти и установить нужное обновление. В крайнем случае установите сами нужный сертификат.
Сертификат устанавливал, не помогает. Эта рекомендация первая в результатах поиска.
Re[3]: Windows XP, проблема с сертификатами
От: |
sn175 |
||
Дата: | 07.11.16 11:03 | ||
Оценка: |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES>Здравствуйте, wildwind, Вы писали:
W>>Скорее всего. Попробуйте вручную найти и установить нужное обновление. В крайнем случае установите сами нужный сертификат.
ES>Сертификат устанавливал, не помогает. Эта рекомендация первая в результатах поиска.
тогда нужно установить всю цепочку сертификатов.
для перестраховки, руками все добавить в доверенные издатели.
можно попробовать добавить сайт в надежные сайты.
Re[2]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 09.11.16 11:16 | ||
Оценка: |
Здравствуйте, Anton Batenev, Вы писали:
AB>Возможно дело в SHA-256 у сертификата (и копать куда-то в эту сторону).
Поставил этот хотфикс, не помогло
Re: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 09.11.16 11:23 | ||
Оценка: |
ES>Ситуация следующая — есть такая программка для создания запроса на ЭЦП.
Порылся ещё, обнаружил странную вещь.
При попытке зайти на сайт по адресу https://utils.iitrust.ru (отсюда не получается скачать что-то у программы установки) на XP получаю ошибку «Сертификат безопасности этого веб-узла был выпущен для веб-узла с другим адресом.
«
Нажимаю все равно продолжить и открываю сертификат и там оказывается что он выдан для адреса *.iitrust.cloud
Что за бред?
Если зайти по этому же адресу через 7, то всё нормально, и когда смотришь сертификат то он там выдан для *.iitrust.ru как и положено.
Это как так получается?
Почему от версии ОС меняется сертификат?
Re[4]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 09.11.16 11:32 | ||
Оценка: |
Здравствуйте, sn175, Вы писали:
W>>>Скорее всего. Попробуйте вручную найти и установить нужное обновление. В крайнем случае установите сами нужный сертификат.
Прикол оказался в том, что на XP почему-то сертификат оказывается выдан для *.iitrust.cloud, а сайт называется *.iitrust.ru
Поэтому и возникает ошибка.
Но так же прикол одновременно и в том, что если зайти через win7, то с сертификатом всё нормально, он как и положено выдан *.iitrust.ru
Re[3]: Windows XP, проблема с сертификатами
От: |
Anton Batenev |
https://github.com/abbat | |
Дата: | 09.11.16 18:21 | ||
Оценка: |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES> AB>Возможно дело в SHA-256 у сертификата (и копать куда-то в эту сторону).
ES> Поставил этот хотфикс, не помогло
Тогда возможно ОС не поддерживает SNI, т.к. iitrust.cloud и iitrust.ru расположены на одном IP адресе и выбирается первый по умолчанию.
Re[4]: Windows XP, проблема с сертификатами
От: |
Evgeniy Skvortsov |
||
Дата: | 10.11.16 07:20 | ||
Оценка: |
Здравствуйте, Anton Batenev, Вы писали:
AB>Тогда возможно ОС не поддерживает SNI, т.к. iitrust.cloud и iitrust.ru расположены на одном IP адресе и выбирается первый по умолчанию.
Похоже на то. Обнаружил такую вот засаду:
Ни одна из версий Internet Explorer под Windows XP не поддерживает SNI
Да и хрен бы с ним, но ведь не работающая програмка написана на .NET FW 3.5, а как там реализовано ssl соединение? Может его можно как-то настроить?
Re[5]: Windows XP, проблема с сертификатами
От: |
Anton Batenev |
https://github.com/abbat | |
Дата: | 10.11.16 13:07 | ||
Оценка: |
Здравствуйте, Evgeniy Skvortsov, Вы писали:
ES> Да и хрен бы с ним, но ведь не работающая програмка написана на .NET FW 3.5, а как там реализовано ssl соединение? Может его можно как-то настроить?
Я не знаю, но думаю, что FW использует те же системные библиотеки, что и браузер. Как вариант, написать владельцам сайта о своей беде, возможно они войдут в положение (судя по сайту у них должно быть много таких клиентов). Если есть возможность влезть в программу, то подменить хост/протокол и поставить перед программой любой реверсивный прокси с поддержкой SNI (nginx например) — как я понимаю, речь о безопасности не идет и требуется только формально получить подпись.
- Переместить
- Удалить
- Выделить ветку
Пока на собственное сообщение не было ответов, его можно удалить.
Winxp sp3 and Window last — https help.
Материал из support.qbpro.ru
Обновление корневых сертификатов в Windows
В операционных системах семейства Windows, начиная с Windows 7, присутствует система автоматического обновления корневых сертификатов с сайта Microsoft. MSFT в рамках программы Microsoft Trusted Root Certificate Program, ведет и публикует в своем онлайн хранилище список сертификатов для клиентов и устройств Windows. В том, случае если проверяемый сертификат в своей цепочке сертфикации относится к корневому CA, который участвует в этой программе, система автоматически скачает с узла Windows Update и добавит такой корневой сертификат в доверенные.
В том случае, если у Windows отсутствует прямой доступ к каталогу Windows Update, то система не сможет обновить корневой сертификат, соответственно у пользователя могут быть проблемы с открытием сайтов (SSL сертификаты которых подписаны CA, к которому нет доверия), либо с установкой / запуском подписанных приложений или скриптов.
В этой статье попробуем разобраться, как можно вручную обновить список корневых сертификатов в TrustedRootCA в изолированных системах, или системах без прямого подключения к интернету.
Утилита rootsupd.exe
- В Windows XP для обновления корневых сертификатов использовалась утилита rootsupd.exe, список корневых и отозванных сертификатов, зашитых в которой регулярно обновлялся. Сама утилита распространялась в виде отдельного обновления KB931125 (Update for Root Certificates). Посмотрим, можно ли использовать ли ее сейчас.
- Скачайте утилиту rootsupd.exe, перейдя по ссылке rootsupd.exe
(по состоянию на 15.09.2017 ссылка не работает, возможно в Microsoft решили убрать ее из общего доступа). - Для установки сертификатом, достаточно запустить файл. Но мы попробуем более внимательно рассмотреть его содержимое, распаковав его с помощью команды:
rootsupd.exe /c /t: C:\PS\rootsupd
- Сертификаты содержатся в SST файлах: authroots.sst, delroot.sst и т.п. Для удаления/установки сертификатов можно воспользоваться командами:
updroots.exe authroots.sst updroots.exe -d delroots.sst
Но, как вы видите, дата создания этих файлов 4 апреля 2013 (почти за год до окончания официальной поддержки Windows XP). Таким образом, с этого времени утилита не обновлялась и не может быть использована для установки актуальных сертификатов.
Получения списка корневых сертификатов с узла Windows Update с помощью Сertutil
- Последняя версия утилиты для управления и работы с сертификатам Сertutil (представленная в Windows 10), позволяет скачать и сохранить в SST файл актуальный список корневых сертификатов.
- Для генерации SST файла, на компьютере Windows 10 с прямым доступом в Интернет, выполните с правами администратора команду:
certutil.exe -generateSSTFromWU roots.sst![]()
- В результате в целевом каталоге появится файл SST, содержащий актуальный список сертификатов. Дважды щелкните по нему для открытия. Данный файл представляет собой контейнер, содержащий сертификаты.
- Как вы видите, откроется знакомая оснастка управления сертификатами, из которой вы можете экспортировать любой из полученных сертификатов. В моем случае, список сертификатов содержал 358 элементов. Естественно, экспортировать сертификаты и устанавливать по одному не рационально.
- {!} — Совет. Для генерации индивидуальных файлов сертификатов можно использовать команду certutil -syncWithWU. Полученные таким образом сертификаты можно распространить на клиентов с помощью GPO.
- Для установки всех сертификатов, содержащихся в файле, воспользуемся утилитой updroots.exe (она содержится в архиве rootsupd.exe, который мы распаковали в предыдущем разделе).
- Установка сертификатов из STT фалйла выполняется командой:
updroots.exe roots.sst
- Запустите оснастку certmgr.msc и убедитесь, что все сертификаты были добавлены в хранилище Trusted Root Certification Authority.
Список корневых сертификатов в формате STL
Есть еще один способ получения списка сертификатов с сайта Microsoft. Для этого нужно скачать файл:authrootstl.cab
(обновляется дважды в месяц)
- С помощью любого архиватора (или проводника Windows) распакуйте содержимое архива authrootstl.cab.
Он содержит один файл authroot.stl.
- Файл authroot.stl представляет собой контейнер со списком доверенных сертификатов в формате Certification Trust List
- Данный файл можно установить в системе с помощью контекстного меню файла STL (Install CTL).
- Или с помощью утилиты certutil:
certutil -addstore -f root authroot.stl
- После выполнения команды, в консоли управления сертификатами (certmgr.msc) в контейнере Trusted Root Certification Authorities появится новый раздел с именем Certificate Trust List.
- Аналогичным образом можно скачать и установить список с отозванными сертификатами, которые были исключены из программы Root Certificate Program. для этого, скачайте файл: disallowedcertstl.cab, распакуйте его и добавьте в раздел Untrusted Certificates командой:
certutil -addstore -f disallowed disallowedcert.stl
- В это статье мы рассмотрели несколько простейших способов обновления списка корневых сертификатов на изолированной от Интернета системе Windows. В том случае, если возникла задача регулярного обновления корневых сертификатов в отделенном от внешней сети домене, есть несколько более сложная схема обновления локальных хранилищ сертификатов на компьютерах домена с помощью групповых политик. Об этом подробнее в одной из ближайших статей.
РЕСУРСЫ
- Обновление корневых сертификатов в Windows
- Update GlobalSign Root Certificate — Windows XP & Windows 2000
- Автоматическое обновление хранилища сертификатов доверенных корневых центров сертификации на компьютерах Windows не имеющих прямого доступа в Интернет.