Подробный гайд по устранению ошибки «У вас отсутствуют личные сертификаты» в Linux Mint
Ошибка «Не видит сертификат: У вас отсутствуют личные сертификаты» при использовании КриптоПро CSP и Рутокена в Linux Mint — это классическая проблема.
В Windows система автоматически «подхватывает» сертификат с токена. В Linux архитектура КриптоПро работает иначе: контейнер с закрытым ключом находится на Рутокене, но самого файла сертификата (открытого ключа) в хранилище системы нет. Пока вы не импортируете сертификат из контейнера в личное хранилище КриптоПро, браузеры и порталы (Госуслуги, Налоговая, СБИС) будут выдавать эту ошибку.
Шаг 1. Установка и запуск службы PC/SC
Linux должен уметь «общаться» с USB-токенами. За это отвечает демон pcscd.
1. Откройте терминал (Ctrl+Alt+T).
2. Установите необходимые пакеты для работы со смарт-картами:
sudo apt update
sudo apt install pcscd pcsc-tools
3. Перезапустите службу и добавьте её в автозагрузку:
sudo systemctl restart pcscd
sudo systemctl enable pcscd
Шаг 2. Проверка видимости Рутокена
Убедимся, что Linux и КриптоПро физически видят ваш токен. Вставьте Рутокен в USB-порт.
1. Проверьте, видит ли токен сама ОС:
pcsc_scan
- Если в выводе появляется
Aktiv Rutoken ECP(или аналогичное название), нажмитеCtrl+Cдля выхода. Значит, с железом всё в порядке. - Если
pcsc_scanничего не видит или зависает — проблема в USB, драйверахifd-rutokensили правилахudev.
2. Проверьте, видит ли КриптоПро контейнер на токене (утилита csptest):
/opt/cprocsp/sbin/amd64/csptest -abspath -card -enum
Вы должны увидеть список считывателей и название контейнера (например, Aktiv Rutoken ECP\06001...).
Шаг 3. Импорт сертификата в хранилище (ГЛАВНОЕ РЕШЕНИЕ)
Вам нужно скопировать сертификат из закрытого контейнера на Рутокене в открытое хранилище «Мои сертификаты» (User\My).
В КриптоПро для Linux есть графическая утилита certmgr (Менеджер сертификатов).
- Запустите менеджер сертификатов:
/opt/cprocsp/bin/amd64/certmgr
- Откроется графическое окно. В верхнем меню выберите: Инструменты (Tools) -> Заполнить хранилище из контейнера (Fill store from container).
- Откроется мастер импорта:
- Нажмите Обзор (Browse).
- Выберите ваш считыватель (обычно он называется
Aktiv Rutoken ECPилиSCard\Rutoken...). - Выберите нужный контейнер с ключом и нажмите ОК.
- Нажмите Далее.
- Система может попросить ввести ПИН-код от Рутокена (по умолчанию для Rutoken Lite/S —
12345678, для Rutoken ECP —12345678или ваш корпоративный). - В окне выбора хранилища убедитесь, что выбрано Личное (My) или User\My.
- Нажмите Установить (Install).
- Если появится предупреждение о том, что сертификат самоподписанный или от неизвестного ЦС, согласитесь («Всё равно установить»).
После этого сертификат появится в списке окна certmgr. Теперь он доступен для браузера и плагинов.
Шаг 4. Настройка прав доступа (Если сертификат установлен, но браузер всё равно не видит)
Часто certmgr видит сертификат, а браузер (Firefox, Chromium, Yandex) выдает ошибку «Нет личных сертификатов». Это происходит из-за того, что у пользователя нет прав на чтение USB-устройства в момент работы браузера.
1. Добавьте вашего пользователя в группу pcscd (или scard, в зависимости от версии Mint):
sudo usermod -aG pcscd $USER
2. Обязательно
Выйдите из системы (Log Out) и зайдите снова (или перезагрузите ПК), чтобы права вступили в силу.
3. Перезапустите службу:
sudo systemctl restart pcscd
Шаг 5. Интеграция с Браузерами (Если нужно для сайтов)
Для Chromium / Google Chrome / Яндекс.Браузера:
В Linux эти браузеры используют системное хранилище NSS.
Убедитесь, что у вас установлен пакет для работы с NSS:
sudo apt install libnss3-tools
КриптоПро Диск (Cades Plugin) должен автоматически добавиться в браузер.
Для Mozilla Firefox:
Firefox использует своё изолированное хранилище. Вам нужно вручную добавить модуль PKCS#11:
- Откройте настройки Firefox -> Защита -> Устройства (Certificates -> Security Devices).
- Нажмите Загрузить (Load).
- Введите любое имя (например,
Rutoken). - В пути к файлу укажите библиотеку КриптоПро (обычно это
/opt/cprocsp/lib/amd64/libcppkcs.soили/opt/cprocsp/lib/amd64/librtpkcs11ecp.so— если вы используете прямую работу с Рутокеном). Примечание: Если вы используете КриптоПро ЭЦП Browser Plug-In, он сам настраивает Firefox при установке, но иногда требует ручного указания пути кlibcppkcs.so.
Частые проблемы (Troubleshooting)
Проблема 1: Утилита certmgr не запускается или вылетает.
В современных версиях Linux Mint (на базе Ubuntu 22.04/24.04) часто возникает конфликт библиотек OpenSSL.
Решение: Установите старые зависимости, если используете КриптоПро 4.0 или старые сборки 5.0:
sudo apt install libssl1.1
Для КриптоПро 5.0 R2 и новее требуется libssl3, который обычно уже есть в Mint.
Проблема 2: csptest не видит контейнер (Ошибка: "No readers found").
Решение:
КриптоПро не видит драйвер Рутокена. Убедитесь, что у вас установлен пакет cprocsp-rdr-rutoken.
Если вы устанавливали КриптоПро из архива, найдите в папке пакет с именем cprocsp-rdr-rutoken...deb и установите его:
sudo dpkg -i cprocsp-rdr-rutoken_*.deb
sudo apt -f install
Проблема 3: Ошибка при установке сертификата "Internal Error".
Это означает, что контейнер на Рутокене поврежден, либо вы вводите неверный ПИН-код.
Решение: Проверьте контейнер на ошибки:
/opt/cprocsp/sbin/amd64/csptest -keyset -verifycontext -container 'ИМЯ_ВАШЕГО_КОНТЕЙНЕРА'
(Имя контейнера можно скопировать из вывода команды csptest -card -enum).
Проблема 4: Нужно связать существующий файл .cer с токеном.
Если у вас есть файл сертификата (например, скачанный с Госуслуг .cer), а на токене только ключ:
- Откройте
certmgr. - Импортируйте файл
.cerв хранилище "Личное" (Файл -> Импорт). - Выберите Инструменты -> Связать сертификат с контейнером (Link certificate with container).
- Укажите ваш сертификат из списка и выберите контейнер на Рутокене. Система "поженит" открытый ключ и закрытый ключ на токене.
Информация предоставлена в ознакомительных целях. Применение описанных настроек в системах, должно осуществляться только после согласования с ответственными за информационную безопасность и в соответствии с требованиями ФСТЭК, ФСБ и иных уполномоченных органов.