Как настроить КриптоПро и обмен с ИС МП в клиент-серверной базе 1С и почему возникает ошибка подключения?

Системный администратор 1С v8.3 (Управляемые формы) 1С:Управление торговлей Торговля и дистрибуция
← На главную

При переходе от файловой базы к клиент-серверной архитектуре (SQL) многие администраторы и специалисты 1С сталкиваются с проблемами настройки обмена с государственными информационными системами, такими как ИС МП (Честный ЗНАК). Ситуация, когда "локально все работает, а на сервере нет подключения", является классической. В этой статье мы подробно разберем технические аспекты настройки криптографии на сервере, вопросы лицензирования и неочевидные настройки, которые могут блокировать работу.

Архитектура подписания: Клиент или Сервер?

Первый вопрос, который мы должны решить при настройке обмена — где физически будет происходить операция подписания электронных документов. Это определяет, где должна быть установлена программа криптозащиты (КриптоПро CSP) и где должен находиться сертификат электронной подписи.

В экосистеме 1С существуют два основных сценария:

  1. Подписание на клиенте. Криптопровайдер и сертификат установлены на компьютере пользователя. 1С обращается к локальным ресурсам ПК.

    Плюсы: Не требуется дорогая серверная лицензия КриптоПро (достаточно клиентской). Ключ может быть на обычном токене в USB-порту пользователя.

    Минусы: Невозможна полная автоматизация. Фоновые и регламентные задания (например, автоматическое получение статусов кодов маркировки по расписанию) выполняются на сервере 1С. Сервер не имеет доступа к USB-портам и реестру клиентского компьютера. Следовательно, регламентные задания работать не будут.

  2. Подписание на сервере. Криптопровайдер и сертификат установлены на сервере, где работает служба "Агент сервера 1С".

    Плюсы: Работают регламентные задания, обмен происходит автоматически без участия пользователя. Это позволяет внедрить автоматическое обновление токенов Честного Знака в 1С, чтобы устранить человеческий фактор и избежать остановок в работе.

    Минусы: Требуется установка ПО на сервер и решение вопросов безопасности (хранение закрытых ключей на сервере).

Если мы посмотрим на рекомендации фирмы 1С, то для клиент-серверной архитектуры в форме Настройки электронной подписи и шифрования на закладке Программы рекомендуется установить флажки:

Это необходимо для работы с разных рабочих мест с одним сертификатом, установленным на сервере, и для работы регламентных заданий.

Лицензирование КриптоПро на сервере

Разберем важный финансовый и технический аспект, который часто вызывает вопросы. Какой КриптоПро нужен для сервера?

Тип требуемой лицензии зависит от операционной системы:

Важное замечание: Если вы используете сертификаты со встроенной лицензией КриптоПро, обязательно проверьте условия их использования. Часто встроенная лицензия не распространяется на серверные операционные системы.

Технические нюансы установки сертификата на сервере

При настройке подписания на сервере мы часто сталкиваемся с тем, что "КриптоПро стоит, сертификат установлен, а 1С его не видит". Разберем причину.

Служба сервера 1С (rphost) обычно запускается от имени специального служебного пользователя, например, usr1cv8. Когда вы заходите на сервер через RDP под своей учетной записью (Administrator) и устанавливаете сертификат, он попадает в личное хранилище пользователя Administrator.

Пользователь usr1cv8 не имеет доступа к личному хранилищу Администратора. Чтобы сервер 1С увидел сертификат, необходимо выполнить одно из действий:

  1. Установить сертификат в хранилище Локального компьютера (Local Machine). В этом случае сертификат будет виден всем пользователям сервера, включая службу 1С. Это особенно важно, если вам требуется получение токена ЧЗ по сертификату для таких задач, как получение ГАР (FiasId).
  2. Войти в систему под пользователем usr1cv8 (или тем, под которым запущена служба) и установить сертификат в его личное хранилище.

Диагностика ошибки "Нет подключения к ИС МП"

Вернемся к проблеме, описанной в начале. Ситуация: локально все работает, а из серверной базы подключение не устанавливается. При этом настройки криптографии вроде бы верны. Для детального разбора причин возникших проблем можно использовать поиск по протоколу обмена ИС МП Честный знак, который помогает анализировать XML-сообщения.

Мы рекомендуем проверять настройки подключения не только на уровне "где стоит ключ", но и на уровне целевого адреса запроса. В конфигурациях 1С (УТ, ERP, КА) в настройках интеграции с ИС МП есть флаг Тестовый контур (или "Песочница").

Разберем ситуацию, которая привела к ошибке у автора вопроса:

  1. В базе данных (возможно, после копирования или экспериментов) была включена настройка использования тестового контура ("Песочница").
  2. Продуктивный контур Честного ЗНАКа и Песочница имеют разные URL-адреса API (например, api.crpt.ru против api-sb.crpt.ru).
  3. Рабочий сертификат электронной подписи (КЭП), выданный аккредитованным УЦ, зарегистрирован в продуктивном контуре. В песочнице этот сертификат может быть неизвестен, либо сама СУЗ (Станция Управления Заказами) в песочнице может быть не настроена для вашей организации.
  4. В результате 1С пыталась постучаться по адресу песочницы с боевым сертификатом (или без настроенной СУЗ в тесте) и получала ошибку соединения или авторизации.

Решение: Внимательно проверьте настройки интеграции с ИС МП. Убедитесь, что галочка тестового режима снята, если вы планируете работать с реальными кодами маркировки.

Рекомендация по использованию МЧД

В контексте обсуждения "как прокинуть ключ на сервер" важно упомянуть современный подход. Сейчас крайне сложно (а для ключей ФНС — невозможно) скопировать сертификат с токена директора на сервер. Ключи стали неизвлекаемыми.

Чтобы не вставлять токен директора физически в сервер (что небезопасно и неудобно), используйте МЧД (Машиночитаемые доверенности):

  1. Выпускается сертификат физического лица на ответственного сотрудника.
  2. Этот сертификат (часто облачный или реестровый) устанавливается на сервер.
  3. Оформляется МЧД, связывающая сотрудника и организацию.
  4. В 1С настраивается подписание сертификатом сотрудника с указанием МЧД.

Такой подход позволяет легально и технически грамотно настроить автоматическое подписание на сервере без нарушения правил безопасности.

← На главную