HARICA TLS RSA Root CA 2021 — почему сертификат есть в CCADB, но отсутствует в хранилище сертификатов Windows?

Почему клиентские ПК не доверяют корневому сертификату, который присутствует в CCADB (HARICA TLS RSA Root CA 2021) — и что с этим делать

Кратко: сервер получил сертификат, чей корневой CA включён в централизованные списки (CCADB / Microsoft), но на некоторых клиентских машинах (в частности в приложениях типа QGIS) этот корневой сертификат не виден в системном хранилище, из‑за чего проверка TLS завершается ошибкой. Браузеры вроде Firefox/Edge обычно открывают сайт нормально (либо имеют собственный список доверенных корней, либо динамически получают корень через механизмы Windows), а отдельные приложения — нет.

Почему так происходит (простыми словами)

  • Наличие CA в списках вроде CCADB / Microsoft означает, что Microsoft признаёт этот CA и может включать его в список доверенных сертификатов, но это не обязательно означает, что корневой сертификат физически уже записан в локальном «Trusted Root» на каждой машине.
  • Windows имеет механизм автоматической подгрузки корневых сертификатов «по требованию» (Automatic Root Update). Но он срабатывает только для тех приложений, которые используют системные API валидации (Schannel/Windows certificate validation). Такие приложения при необходимости инициируют загрузку корня с серверов Microsoft и Windows помещает его в хранилище.
  • Современный Microsoft Edge (Chromium) и Chrome используют собственные копии списков доверенных корней или встроенные доверенные списки, поэтому их поведение отличается: они могут не использовать Windows Automatic Root Update для HTTPS‑соединений и вместо этого опираются на свой встроенный список либо импортируют из Windows только дополнительные (локальные) корни.
  • Некоторые приложения (например, сборки QGIS, использующие OpenSSL/GnuTLS/Botan и самостоятельно выполняющие проверку цепочки) могут читать сертификаты из Windows хранилища, но не использовать Windows API для валидации. В этом случае автоматическая загрузка корня не инициируется и приложение увидит только то, что уже есть в хранилище.

Последствия для пользователей

  • Браузеры: чаще всего будут работать (Firefox использует свой store и, по истории, HARICA добавили в Mozilla в 2021; Edge/Chrome могут работать если их встроенный список содержит корень).
  • Системные/Schannel‑программы (curl.exe из Windows, PowerShell WebRequest и др.) — могут автоматически подтянуть корневой сертификат при запросе.
  • Приложения, которые не используют Windows валидацию (QGIS в некоторых сборках) — будут жаловаться на самоподписанный или неизвестный корень, пока корень не установлен вручную или не добавлен централизованно.

Варианты решения

Ниже — упорядоченный обзор практических вариантов, каким образом можно устранить проблему для конечных пользователей.

Вариант 1 — централизовать доверие (рекомендуется для управляемых сетей)

Если у вас есть центральное управление (GPO / MDM / Intune) — самый надёжный и предсказуемый способ: развернуть корневой сертификат в раздел «Trusted Root Certification Authorities» на всех клиентских устройствах.

Примерный путь в Group Policy (Windows Domain):

  1. Создать или отредактировать GPO.
  2. Computer Configuration → Policies → Windows Settings → Security Settings → Public Key Policies → Trusted Root Certification Authorities.
  3. Импортировать корневой сертификат (файл .cer) и привязать GPO к OU с компьютерами.

Плюсы: контроль, безопасность, работает для всех приложений, включая QGIS. Минусы: требует прав администратора/IT и времени на развёртывание.

Вариант 2 — положиться на Windows Automatic Root Update

Как это работает:

  • Если приложение использует Schannel/Windows API для валидации, Windows при необходимости автоматически загрузит корневой сертификат из репозиториев Microsoft (через Windows Update/службы каталогов корней).
  • Примеры клиентов, которые это используют: встроенный curl в Windows, Internet Explorer/частично старый Edge, некоторые системные вызовы PowerShell.

Практические шаги для пользователей:

  • Убедиться, что Windows обновлён и у него разрешены обновления корней (не отключена служба или GPO, блокирующая автоматическую загрузку корней).
  • Для теста можно выполнить:
  • certutil -urlcache

    и/или

    curl https://nibis.lbeg.de

    — Windows‑встроенный curl использует Schannel и при обращении к сайту может инициировать загрузку корня.

Плюсы: не требует ручной установки сертификата на каждой машине; при удачном сценарии работает автоматически. Минусы: не работает, если приложение не использует Windows валидацию (QGIS), или если политика организации запрещает автообновление корней.

Вариант 3 — попросить пользователей использовать браузер/приложение с готовым хранилищем

  • Firefox имеет собственное хранилище сертификатов и, если CA добавлена в Mozilla, сайт откроется корректно.
  • Некоторые версии Edge/Chrome включают эту корневую запись в встроенный список, но у Chromium‑производных поведение может отличаться между сборками.

Плюсы: быстрое временное решение для отдельных пользователей. Минусы: неудобно объяснять всем клиентам, не решает проблему приложений вроде QGIS.

Вариант 4 — заставить приложение инициировать авто‑загрузку корня

Если приложение само не запускает Windows проверку, можно попытаться запустить стороннюю утилиту, которая использует Schannel, чтобы инициировать загрузку корня на машине (пример: использовать встроенный curl для обращения к вашему сайту):

curl https://nibis.lbeg.de

После этого Windows может автоматически скачать корень и поместить его в «Trusted Root», и тогда приложение, которое читает этот store, возможно, начнёт доверять цепочке.

Примечание: если QGIS использует своё внутреннее TLS‑валидацию, даже после появления корня в системном store это не поможет — приложение должно использовать системный валидатор или импортировать системные корни в свою логику валидации.

Вариант 5 — непосредственно установить корень вручную (как крайний/временный вариант)

  • Пользователь может импортировать корневой сертификат с помощью certmgr.msc (пользователь) или certlm.msc (локальное компьютерное хранилище) и поместить в Trusted Root Certification Authorities.
  • Это небезопасно и неудобно для широкого круга клиентов, но работает для отдельных случаев.

Рекомендации и практические проверки

  • Проверьте, что сервер корректно отправляет полный набор промежуточных сертификатов (full chain). Неполная цепочка — частая причина проблем с доверием у разных клиентов. Используйте SSL Labs или аналогичный сервис для проверки сервера.
  • Проверьте, действительно ли корень присутствует в встроенных списках браузеров: Firefox (about:certificate) и Edge (Settings → Certificate Manager) — в некоторых сборках корень уже включён и сайт работает.
  • На клиентской машине можно посмотреть содержимое Trusted Root с помощью certmgr.msc / certlm.msc и увидеть, появился ли HARICA корень.
  • Для диагностики автоматической загрузки корней используйте: certutil -urlcache и тесты с curl.exe (Windows build).
  • Если большое количество ваших клиентов использует QGIS или другие приложения с собственной валидацией — лучше всего либо развернуть корень централизованно (GPO), либо обратиться к разработчикам приложения, чтобы оно использовало системные API валидации.

Какой вариант лучше выбрать?

  • Если вы управляете корпоративной сетью — используйте GPO/MDM для распространения корня. Это наиболее предсказуемо и безопасно.
  • Если речь о внешних (публичных) клиентах — оптимально обеспечить, чтобы CA была включена во все основные доверенные хранилища (Mozilla, Microsoft, Apple, Android). Вы уже видите, что HARICA присутствует у Mozilla и в CCADB для Microsoft, но это не гарантирует моментальную появление в локальном store на всех машинах — поэтому как временная мера добавьте инструкции для клиентов по обновлению Windows или использованию браузера, который уже доверяет CA.
  • Если большое число пользователей испытывает проблемы в конкретном приложении (QGIS) — попробуйте объяснить пользователям путь с GPO/ручным импортом или добиваться исправления в самом приложении (чтобы оно использовало Windows validation или импортировало системные корни корректно).

Короткий чеклист действий для администратора

  1. Проверить сервер на полную цепочку сертификатов (SSL Labs).
  2. Проверить, нет ли GPO, блокирующих автоматическую загрузку корней (Windows Update политик).
  3. Если вы контролируете клиентов — развернуть корень через GPO/MDM.
  4. Если нет — дать инструкции клиентам: обновить Windows, запустить встроенный curl или браузер, который доверяет CA, либо временно импортировать корень вручную.
  5. Для QGIS — проверить, использует ли сборка системную валидацию; при необходимости предложить пользователям конкретную сборку/версию или запросить изменение у разработчиков.

Вывод

Проблема не в том, что CA «не доверена глобально» — HARICA TLS RSA Root CA 2021 присутствует в реестрах типа CCADB и в Mozilla. Причина в механизмах распространения корней на конкретных машинах: Windows загружает нужные корни «по требованию» только для приложений, использующих Windows‑валидацию. Многие приложения (или бездоменные/пользовательские установки) этого не делают, поэтому корень может отсутствовать в локальном хранилище и приводить к ошибкам.

Решение во многом зависит от ситуации: в управляемой среде — развёртывание через GPO/MDM; для внешних клиентов — комбинация: убедиться в корректной цепочке на сервере, по возможности проинструктировать обновить ОС/использовать поддерживаемые браузеры, и, при необходимости, предложить временный ручной импорт. Для приложений вроде QGIS потребуется либо изменение приложения (использование системной валидации), либо централизованное развёртывание корня.

Ответить

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