Приветствую, коллеги. После замены сертификата я столкнулся с неожиданной ситуацией: новый сертификат был установлен и нормально проверялся, но при подписании СУФД продолжал просить старый ключ. Повторная установка через КриптоПро ничего не меняла.
Как выглядела проблема
Контейнер нового закрытого ключа проходил тестирование в КриптоПро CSP. Континент-АП видел сертификат, соединение устанавливалось, но во время подписания СУФД обращался к прежнему сертификату и требовал старый ключевой носитель.
Это важный признак. Если система показывает именно старый сертификат, проблема не похожа на повреждение нового контейнера.
Что я проверил на компьютере
- Открыл КриптоПро CSP и проверил новый контейнер.
- Установил личный сертификат из контейнера.
- Убедился, что у сертификата есть закрытый ключ и срок действия не закончился.
- Проверил, что Континент-АП видит новый сертификат.
- Повторил подписание и записал, какой сертификат запрашивает СУФД.
Локальная проверка была успешной, однако СУФД всё равно выбирал старую запись. Значит, продолжать переустановку криптопровайдера было бессмысленно.
В чём оказалась причина
Новый сертификат ещё не был привязан к пользователю в СУФД. На компьютере он уже находился, но серверная часть системы продолжала связывать учётную запись со старым сертификатом.
Это отличается от ошибки «сертификат с отпечатком не найден в хранилище». При ней СУФД знает новый отпечаток, но не находит соответствующий сертификат локально. Такой случай разобран в отдельной инструкции: сертификат с отпечатком не найден в хранилище СУФД.
Что я сделал
- Сохранил серийный номер и отпечаток нового сертификата.
- Передал данные сотруднику, который выполняет привязку сертификатов пользователей в СУФД.
- Попросил проверить, какой сертификат сейчас связан с моей учётной записью.
- После привязки нового сертификата полностью вышел из СУФД и вошёл заново.
- Повторил подписание документа.
После обновления привязки СУФД перестал запрашивать старый ключ и начал работать с новым сертификатом.
Если после привязки пользователь пропал
В моём старом рабочем случае после серверной привязки отдельно пришлось восстанавливать браузерный компонент КриптоПро. Это уже другая проблема: она не отменяет правильную привязку сертификата.
Старая инструкция использовала Firefox ESR 60, но сейчас ставить такую версию нельзя — она давно устарела и небезопасна. Я использую только браузер и расширение, которые разрешены действующей памяткой конкретного УФК.
Как отличить серверную привязку от локальной ошибки
- СУФД показывает старый сертификат — сначала проверяю привязку пользователя.
- СУФД показывает новый отпечаток, но не находит сертификат — проверяю локальное хранилище.
- Новый контейнер не проходит тестирование — сначала исправляю носитель или установку сертификата.
В моём случае решающим признаком был запрос именно старого ключа. После этого я перестал переустанавливать КриптоПро и проверил, какой сертификат записан за пользователем в СУФД.
Получилось или остались вопросы?
Поделитесь результатом, дополните инструкцию своим опытом или задайте вопрос. Я читаю комментарии и обновляю статьи по реальным случаям.