# 🔎 Как проверить, установлен ли корень НУЦ, и как его удалить
> [!info] О чём заметка
> Пошаговая проверка всех основных платформ (Windows, macOS, Linux, Android, iOS) и браузеров на присутствие корневого сертификата государственного НУЦ (Национального удостоверяющего центра Минцифры) — и удаление, если он найден. Зачем вообще его искать и чем он опасен — в [[nuc/00-overview|обзоре раздела]] и в [[nuc/nuc-root-mitm-threat-model|модели угроз корня НУЦ]].
## TL;DR
- Искать нужно два сертификата: корневой **Russian Trusted Root CA** и выпускающий **Russian Trusted Sub CA** — инструкции Госуслуг и Сбербанка ставят оба.
- Самая быстрая проверка — открыть в своём обычном браузере сайт, работающий на сертификате НУЦ (например, `sberbank.ru`): предупреждение «подключение не защищено» означает, что корня у тебя **нет**.
- Корень мог появиться не только по твоей воле: его ставят «по инструкции банка», при настройке чужими руками, в корпоративных машинах — проверка занимает минуту и ничего не ломает.
- Удаление безопасно: единственное последствие — сайты с сертификатом НУЦ снова начнут показывать предупреждение. Как жить с этим без установки корня — в [[nuc/safe-usage|заметке об изоляции доверия]].
- В «Яндекс Браузере» и «Атоме» доверие НУЦ [[nuc/embedded-trust|встроено в сам браузер]] — из системы его не удалить, только не пользоваться этими браузерами для чувствительного.
## Что именно ищем
Инструкции Госуслуг предлагают установить пару сертификатов: корневой с именем (CN) **Russian Trusted Root CA** — он попадает в хранилище «Доверенные корневые центры сертификации» — и выпускающий **Russian Trusted Sub CA**, который кладётся в «Промежуточные центры сертификации». Опасность несёт прежде всего корневой: именно он расширяет доверие на всё, что НУЦ когда-либо подпишет. По данным Госуслуг, корневой сертификат выпущен в марте 2022 года со сроком действия до 2032 года, так что «сам он истечёт» — не стратегия: ждать осталось долго.
Проще говоря: открываешь список доверенных сертификатов своей системы и ищешь в нём слово «Russian». Нашёл «Russian Trusted…» — корень стоит. Не нашёл — стоит проверить остальные устройства и браузеры: хранилищ доверия на одном компьютере может быть несколько (система, Firefox, NSS-база в Linux), и корень может сидеть в любом из них.
## Быстрая проверка без настроек: тестовый сайт
Открой в проверяемом браузере `https://www.sberbank.ru`. С 3 августа 2026 сайт Сбербанка работает на сертификате НУЦ — банк перешёл на него после [[nuc/banks-nuc-certs-august-2026|отзыва сертификатов китайским УЦ TrustAsia]], а установить «сертификаты Минцифры» сам же и предлагает на [странице sberbank.ru/certificates](https://www.sberbank.ru/ru/certificates). Если банк снова сменит сертификат, признак перестанет работать — при сомнении проверяй издателя вручную, как описано ниже.
- Браузер показывает **предупреждение** «подключение не защищено» / «NET::ERR_CERT_AUTHORITY_INVALID» → корня НУЦ в этом браузере **нет**. Это хороший исход, закрывай вкладку.
- Сайт открывается **без предупреждений** → либо в системе (или браузере) установлен корень НУЦ, либо это отечественный браузер со [[nuc/embedded-trust|встроенным доверием]]. Кто именно выдал сертификат, смотри по замочку в адресной строке: замочек → «Сведения о сертификате» → поле «Издатель» (Issuer). Там будет `Russian Trusted Sub CA`.
Издателя сертификата любого сайта можно узнать и без браузера, из терминала — эта проверка не зависит от локального хранилища доверия:
```bash
openssl s_client -connect www.sberbank.ru:443 -servername www.sberbank.ru </dev/null 2>/dev/null | openssl x509 -noout -issuer -subject -dates
```
## Windows
Хранилищ два — пользовательское и машинное, проверять стоит оба (инструкции Госуслуг обычно ставят в пользовательское):
- [ ] `Win+R` → `certmgr.msc` (хранилище текущего пользователя) → «Доверенные корневые центры сертификации» → «Сертификаты» → искать **Russian Trusted Root CA**.
- [ ] Там же раздел «Промежуточные центры сертификации» → «Сертификаты» → искать **Russian Trusted Sub CA**.
- [ ] `Win+R` → `certlm.msc` (хранилище компьютера, нужны права администратора) → те же два раздела.
- [ ] Удаление: правый клик по сертификату → «Удалить», подтвердить. После удаления перезапусти браузеры.
Быстрее — одной командой PowerShell (ищет по всем хранилищам текущего пользователя и машины):
```powershell
Get-ChildItem Cert:\ -Recurse | Where-Object { $_.Subject -like "*Russian Trusted*" } | Format-List PSParentPath, Subject, NotAfter
```
Пустой вывод — корня нет. Найденные записи удаляются в `certmgr.msc`/`certlm.msc` по пути из `PSParentPath` (или командой `Remove-Item` по тому же пути).
> [!note] Chrome, Edge и системное хранилище
> Chrome и Edge на Windows доверяют локально установленным корням из системного хранилища — то есть корень, поставленный «для Госуслуг», действует и на всё остальное, что ты открываешь в этих браузерах. Вручную добавленные корни при этом освобождены от проверки Certificate Transparency — почему это ключевая проблема, разобрано в [[nuc/nuc-root-mitm-threat-model#Почему обычные УЦ так не могут — и почему ручная установка это ломает|модели угроз]].
## macOS
- [ ] Открой «Связку ключей» (Keychain Access) → слева выбери «Система» (System), затем повтори для «Вход» (login) → категория «Сертификаты» → в поиске набери `Russian`.
- [ ] Найденный **Russian Trusted Root CA** / **Russian Trusted Sub CA** — правый клик → «Удалить». Для системной связки понадобится пароль администратора.
- [ ] Проверь и настройки доверия: если сертификат помечен «Этот сертификат отмечен как доверенный», значит доверие включали вручную при установке.
Терминалом:
```bash
security find-certificate -a -c "Russian Trusted" /Library/Keychains/System.keychain ~/Library/Keychains/login.keychain-db 2>/dev/null
```
## Linux
Хранилищ несколько, и браузеры пользуются разными:
- [ ] Системное (его читают curl, wget, системные программы): `trust list | grep -i russian` (p11-kit, есть в большинстве дистрибутивов) или `grep -ril russian /etc/ssl/certs/ /usr/local/share/ca-certificates/ 2>/dev/null`. Удаление: убрать добавленный `.crt` из `/usr/local/share/ca-certificates/` и выполнить `sudo update-ca-certificates --fresh` (в Debian/Ubuntu; в RHEL-семействе — `/etc/pki/ca-trust/source/anchors/` и `sudo update-ca-trust`).
- [ ] NSS-база пользователя (её читают Chrome/Chromium): `certutil -L -d sql:$HOME/.pki/nssdb | grep -i russian` (пакет `libnss3-tools`). Удаление: `certutil -D -d sql:$HOME/.pki/nssdb -n "<имя из списка>"`.
- [ ] Firefox — своё хранилище, см. раздел про браузеры ниже.
## Android
Путь по настройкам различается между прошивками, поэтому проще воспользоваться поиском по настройкам: набери «сертификат» и открой пункт вида «Надёжные сертификаты» / «Доверенные сертификаты» (обычно это Настройки → Безопасность → Шифрование и учётные данные → Надёжные сертификаты).
- [ ] На вкладке **«Пользователь»** — сертификаты, установленные руками; ищи «Russian Trusted». Вкладку «Система» трогать не нужно: туда НУЦ штатно не попадает.
- [ ] Удаление: открыть найденный сертификат → «Удалить», либо пункт «Удалить учётные данные» (удалит все пользовательские сертификаты разом).
> [!note] Почему на Android риск устроен иначе
> Начиная с Android 7, приложения по умолчанию доверяют только системным сертификатам и игнорируют установленные пользователем — банковские и прочие приложения корень НУЦ не увидят. Но браузеры (в частности Chrome) пользовательским корням доверяют, поэтому весь просмотр сайтов под перехват попадает. Подробнее о том, что перехват может и чего не может, — в [[nuc/nuc-root-mitm-threat-model|модели угроз]].
## iOS / iPadOS
На iPhone корень ставится через профиль конфигурации, и у него два выключателя:
- [ ] Настройки → Основные → «VPN и управление устройством» — установленные профили. Профиль с сертификатами Минцифры/Госуслуг → «Удалить профиль».
- [ ] Настройки → Основные → «Об этом устройстве» → «Доверие сертификатам» (Certificate Trust Settings) — здесь видно, включено ли «полное доверие» для установленных корней. Даже установленный профиль без этого переключателя полного доверия не даёт; если переключатель включён — выключи или удали профиль целиком.
## Браузеры со своим хранилищем
- [ ] **Firefox** держит собственный список доверия, отдельный от системы: Настройки → «Приватность и защита» → «Сертификаты» → «Просмотр сертификатов» → вкладка «Центры сертификации» → искать «Russian». Удаление — кнопкой «Удалить или не доверять». Дополнительно проверь в `about:config` параметр `security.enterprise_roots.enabled`: значение `true` заставляет Firefox подтягивать корни из системного хранилища — тогда чистить нужно и систему.
- [ ] **Chrome/Edge/Safari** своего пользовательского хранилища не ведут — они верят системному, поэтому для них достаточно проверок из разделов про Windows/macOS/Linux/Android выше (на Linux Chrome читает NSS-базу `~/.pki/nssdb`).
- [ ] **«Яндекс Браузер» и «Атом»** доверяют НУЦ на уровне самого браузера — из настроек это доверие не удаляется. Что из этого следует и как этим пользоваться осознанно — в [[nuc/embedded-trust|отдельной заметке]].
## После удаления
Перезапусти браузеры и повтори быструю проверку тестовым сайтом: сайт на сертификате НУЦ должен снова показывать предупреждение. Это и есть нормальное состояние — браузер честно сообщает, что издателю он не доверяет. Если такой сайт нужен регулярно, не возвращай корень в систему: варианты изоляции (отдельный браузер под госсайты, отдельный профиль Firefox, точечное исключение) разобраны в [[nuc/safe-usage|соседней заметке]].
## 📚 См. также
- [[nuc/00-overview|Обзор раздела: сертификаты Минцифры (НУЦ)]] — что это и почему их вообще приходится искать у себя
- [[nuc/safe-usage|Как пользоваться госсайтами без корня НУЦ в системе]] — что делать после удаления
- [[nuc/nuc-root-mitm-threat-model|Модель угроз корня НУЦ]] — какие атаки открывает установленный корень
- 🔗 [Госуслуги: российские сертификаты безопасности](https://www.gosuslugi.ru/crt) — официальные инструкции по установке (полезны как карта: куда именно инструкция кладёт сертификаты — там их и искать)
---
> [!quote] 🤖 Эти статьи открыты — можно обучать на них ИИ
> При желании вы можете натренировать ИИ на наших статьях. Исходное форматирование и скачивание всего репозитория одним zip-архивом доступны на GitHub: [исходник этой заметки](https://github.com/youtubediscord/todo/blob/main/nuc/check-remove.md) · [весь репозиторий](https://github.com/youtubediscord/todo/tree/main).