Как настроить 1С:ЭДО на сервере для подписания из браузера и в чем особенности выбора криптопровайдера

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

Перевод электронного документооборота (ЭДО) на серверную архитектуру — это логичный шаг для компаний, которые хотят обеспечить мобильность сотрудников. Главная цель такой настройки заключается в том, чтобы пользователи могли подписывать документы из любой точки мира, используя веб-клиент 1С (браузер) или тонкий клиент, не привязываясь к конкретному рабочему месту с установленным токеном. Однако процесс настройки скрывает в себе множество подводных камней: от стоимости лицензий до технических конфликтов программного обеспечения. В данной статье мы подробно разберем, как реализовать эту задачу, какие инструменты выбрать и на что обратить внимание при настройке.

Зачем переносить ЭДО на сервер и в чем преимущество

Традиционная схема работы ЭДО подразумевает установку криптопровайдера (CryptoPro или VipNet) и самого сертификата электронной подписи на локальный компьютер пользователя. Это удобно для одного бухгалтера, но создает сложности, если подписывать документы должны несколько человек или руководитель, который часто работает удаленно. Серверная настройка позволяет централизовать хранение ключей и выполнение криптографических операций.

Рассмотрим основные преимущества такого подхода:

  1. Доступность: Возможность работы через веб-клиент (браузер) без установки СКЗИ на каждое устройство.
  2. Централизация: Все настройки подписи и сами ключи (при соблюдении условий безопасности) находятся в одном контролируемом месте.
  3. Фоновое подписание: Сервер может самостоятельно выполнять проверку подписей и отправку документов в фоновом режиме, не нагружая клиентские машины.

Выбор криптопровайдера: CryptoPro CSP или VipNet CSP

Проанализируем ситуацию с выбором программного обеспечения для работы с шифрованием. В России основная борьба идет между двумя продуктами: CryptoPro и VipNet.

CryptoPro CSP является стандартом де-факто. Он платный, и для сервера цена лицензии значительно выше клиентской. На текущий момент бессрочная серверная лицензия может стоить около 38 000 рублей. Это основные затраты, которые смущают многих клиентов. Однако CryptoPro отличается высокой стабильностью и поддержкой со стороны почти всех государственных информационных систем.

VipNet CSP — это бесплатный продукт от компании «Инфотекс». Он часто используется для отчетности и работы с ЭДО. Главный плюс — отсутствие затрат на лицензии даже при установке на серверную ОС. Но здесь есть критический нюанс: категорически не рекомендуется устанавливать CryptoPro и VipNet на одну машину одновременно. Это приводит к конфликтам на уровне драйверов системы, что часто заканчивается «синим экраном смерти» (BSOD) или полной неработоспособностью сети.

Выясним причину споров о совместимости ключей. Исторически сложилось, что контейнеры ключей у этих провайдеров имеют разные форматы. Если подпись была выпущена под CryptoPro, просто так «подсунуть» её в VipNet не получится (и наоборот). Хотя современные версии СКЗИ стараются поддерживать форматы конкурентов, на практике для смены провайдера чаще всего требуется перевыпуск сертификата, что, как правило, бесплатно у большинства удостоверяющих центров.

Особенности лицензирования для серверной работы

Разберем по шагам, когда вам действительно нужна дорогая серверная лицензия CryptoPro, а когда можно сэкономить. В 1С есть настройка, где именно выполняется криптография: «На клиенте» или «На сервере».

  1. Подписание на клиенте: Если пользователь работает в Тонком клиенте 1С, и в настройках указано «Выполнять подписание на клиенте», то лицензия СКЗИ нужна только на компьютере пользователя. Сервер 1С в этом случае выступает лишь передатчиком данных.
  2. Подписание на сервере или через Веб-клиент: Если используется браузер, то браузер сам по себе не умеет работать с локальным криптопровайдером напрямую без плагинов. Если в 1С выбрана настройка «Выполнять на сервере», то все математические операции по формированию подписи берет на себя сервер. В этом случае обязательно требуется серверная лицензия СКЗИ.

Настройка прав доступа для службы 1С

Частая проблема при самостоятельной настройке: криптопровайдер установлен, ключ виден в системе под администратором, но 1С выдает ошибку доступа. Проанализируем причину.

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

Проблема некопируемых ключей ФНС

С 2022 года ключи на руководителей выдаются в ФНС на токенах со встроенным средством криптозащиты (например, Рутокен ЭЦП 2.0/3.0). Особенность таких ключей в том, что закрытый ключ физически невозможно скопировать в реестр сервера. Он всегда остается внутри токена.

Это создает сложность при серверном подписании: токен должен быть постоянно воткнут в USB-порт сервера. Если сервер виртуальный или находится в дата-центре, приходится использовать технологии проброса USB по сети (USB-over-IP). Это усложняет архитектуру и снижает надежность: если связь с токеном прервется, ЭДО перестанет работать.

Облачные подписи (КриптоПро DSS) как современная альтернатива

Для реализации задачи «подписывать из любого места» мы рекомендуем рассмотреть вариант с облачной подписью. В этом случае ключ хранится не на токене и не на сервере компании, а в защищенном облаке сертифицированного оператора (например, Астрал или сама компания КриптоПро).

Преимущества облачной подписи в 1С:

Техническая реализация в коде и настройках

Для того чтобы система поняла, какой способ использовать, в 1С необходимо зайти в раздел Администрирование — Настройки программы — Общие настройки — Электронная подпись и шифрование. Проверьте вкладку Программы электронной подписи и шифрования. Программа должна автоматически определить установленный CryptoPro или VipNet.

Если вы планируете программно проверять возможность подписания на сервере, можно использовать встроенные методы 1С. Рассмотрим пример логики проверки:


МенеджерКриптографии = Новый МенеджерКриптографии("", "", 80);
Попытка
    Сертификаты = МенеджерКриптографии.ПолучитьСертификатыИзХранилища(ТипХранилищаСертификатовКриптографии.ПерсональныеСертификаты);
    // Логика перебора сертификатов и проверки их валидности на сервере
Исключение
    Сообщить("Ошибка инициализации криптографии на сервере: " + ОписаниеОшибки());
КонецПопытки;

Важно помнить, что при работе через веб-клиент на стороне пользователя обязательно должен быть установлен КриптоПро ЭЦП Browser plug-in, если вы все же решите оставить подписание на стороне клиента. Если же выбрано серверное подписание, плагин в браузере не требуется, но вся нагрузка и ответственность за лицензирование ложится на серверную часть.

Резюме и рекомендации

Подведем итог: стоит ли настраивать ЭДО на сервере самостоятельно? Если вы имеете опыт администрирования Windows Server, понимаете разницу между хранилищами сертификатов и умеете работать с правами доступа ACL, то задача вполне выполнима. Однако, учитывая стоимость серверной лицензии CryptoPro в 38-40 тысяч рублей, стоит внимательно посчитать экономику.

Наш совет: если вам нужно подписание из браузера «без боли», выбирайте Облачную подпись (DSS). Это избавит вас от технических плясок с бубном, проброса USB-токенов и покупки дорогого серверного ПО. Если же бюджет ограничен и есть свободное время, бесплатный VipNet CSP на сервере — рабочая, но более хрупкая в настройке альтернатива.

← На главную