При настройке 1С-ЭДО в клиент-серверном варианте работы пользователи часто сталкиваются с ситуацией, когда на локальном компьютере подписи работают корректно, но «Диагностика ЭДО» на сервере выдает ошибку: «Отсутствует корневой сертификат ГУЦ». Для решения этой проблемы есть модуль для управления сертификатами и организации ЭДО. Эта проблема особенно актуальна для систем, использующих учетную запись USR1CV8 для работы службы Агента сервера 1С. В данной статье мы подробно разберем, как правильно выстроить цепочку доверия, куда именно устанавливать сертификаты и какие нюансы настройки ОС и криптографии необходимо учесть.
Проанализируем ситуацию. В клиент-серверной архитектуре проверка сертификатов и подписание документов (в зависимости от настроек) часто происходят на стороне сервера. Программа 1С запускается от имени специального системного пользователя (обычно USR1CV8 или LocalSystem). Если вы установили сертификаты, просто дважды кликнув по файлу и нажав «Установить», они попали в хранилище «Текущий пользователь» вашего административного аккаунта. Служба 1С, работающая под своей учетной записью, к этому хранилищу доступа не имеет.
Рассмотрим основные шаги по исправлению этой ошибки.
Это самый важный этап. Нам необходимо убедиться, что вся цепочка сертификатов доступна всем пользователям сервера, включая службу 1С. Разберем, как это сделать правильно через оснастку или консоль администрирования кластера:
Win + R, введите mmc и нажмите Enter.Важный момент: если ваша подпись выдана после 2022 года, вам обязательно потребуется новый корневой сертификат Минцифры со сроком действия до 2036 или 2037 года.
Ошибка «Отсутствует корневой сертификат ГУЦ» иногда вводит в заблуждение, так как проблема может быть в промежуточном звене. Рассмотрим типовую цепочку доверия для ЭДО, где применяются алгоритмы шифрования ГОСТ:
Проанализируем срок действия: как было отмечено в обсуждении, сертификат ГУЦ обычно действует до 2027-2028 года, а корень Минкомсвязи (Минцифры) — до 2036 года. Проверьте, чтобы в хранилище «Промежуточные центры сертификации» на уровне «Локальный компьютер» также присутствовали актуальные сертификаты издателя вашей подписи.
Даже если сами сертификаты установлены, диагностика 1С может завершиться неудачей, если система не может проверить, не отозван ли сертификат. В отчете администратора это может выглядеть как общая ошибка корневого сертификата.
Если сервер 1С имеет ограниченный доступ в интернет, автоматическое скачивание списков отзыва невозможно. В этом случае выполним следующие действия:
.crl с сайта удостоверяющего центра (например, с портала ГУЦ или сайта Калуга-Астрал).mmc нажмите правой кнопкой мыши на Промежуточные центры сертификации — Все задачи — Импорт.Иногда сертификаты установлены корректно, но у пользователя службы 1С нет прав на чтение ключей или доступ к криптопровайдеру. Посмотрим, как это проверить:
Если вы используете CryptoPro CSP, необходимо убедиться, что лицензия действительна и программа видит установленные сертификаты. Запустите CryptoPro CSP от имени администратора и проверьте вкладку «Сервис» — «Просмотреть сертификаты в контейнере». Если подпись находится на токене, убедитесь, что драйверы токена установлены на сервере и устройство пробрасывается корректно (хотя для серверных подписей чаще используются реестр или файлы).
Также полезно проверить права на ветку реестра, где хранятся настройки криптографии (включая шифрование строк):
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{...} (относящиеся к криптопровайдеру). Пользователь USR1CV8 должен иметь права на чтение этих разделов.
Особенность работы сервера 1С заключается в том, что он кэширует многие параметры окружения при запуске. Если вы установили сертификаты в системное хранилище, изменения могут не подхватиться «на лету».
Обязательно выполните перезапуск службы:
После перезапуска службы 1С заново инициализирует работу с криптопровайдером и хранилищами Windows. После этого повторите «Диагностику ЭДО» в программе. Для выявления технических ошибок обмена есть утилита автоматизации и диагностики технического контура ЭДО.
Чтобы убедиться, что сертификат виден именно в системном хранилище, мы можем воспользоваться встроенной утилитой Windows certutil. Выполните команду в командной строке:
certutil -store Root
certutil -store CA
Первая команда покажет сертификаты в «Доверенных корневых центрах», вторая — в «Промежуточных». Ищите в выводе ваш сертификат ГУЦ и проверяйте поле NotAfter (срок годности). Если вы не видите нужного сертификата в этом списке, значит, он установлен только для текущего пользователя, а не для компьютера.
Подведем итог. Если 1С-ЭДО ругается на отсутствие корневого сертификата на сервере, проверьте следующее:
USR1CV8) имеет права на работу с криптопровайдером.Соблюдение этой последовательности действий в 99% случаев решает проблему с диагностикой ЭДО и позволяет успешно обмениваться электронными документами в клиент-серверном режиме.