Почему 1С и КриптоПро не работают у обычного пользователя на терминальном сервере и как это исправить?

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

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

1. Настройка прав в реестре Windows на ветки КриптоПро

Одной из главных причин проблемы является банальная нехватка прав на чтение ключей реестра, где КриптоПро хранит свои настройки и информацию о контейнерах. Администратор имеет к ним доступ по умолчанию, а вот обычный пользователь терминала — нет. Проанализируем, какие ветки требуют проверки.

Откроем редактор реестра и предоставим права на «Чтение» (а в случае работы с контейнерами ключей в реестре — на «Полный доступ») пользователям или группе пользователей терминала для следующих веток:

  1. HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro
  2. HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Crypto Pro (обязательно проверим этот раздел, если у нас 64-битная операционная система)
  3. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates

После назначения прав рекомендуется перезапустить сеансы пользователей.

2. Выдача прав на папки и временные директории

Криптографические операции активно используют файловую систему. Если платформа 1С или провайдер КриптоПро не могут создать временные файлы, процесс подписания прервется. Выясним причину отсутствия доступа и исправим её.

Рассмотрим директории, на которые у пользователя обязательно должны быть права чтения и записи:

  1. Папка установки провайдера: C:\Program Files\Crypto Pro (в основном достаточно прав на чтение и выполнение).
  2. Папка с общими данными: C:\ProgramData\Crypto Pro.
  3. Временные папки сессии пользователя. Проверим переменные среды %TEMP%, а также доступ к системной папке C:\Windows\Temp, которая может использоваться при обращении через COM-объекты.
  4. Папка, где физически лежат ключи (если используется хранилище на жестком диске).

3. Права на COM-объекты (CAdESCOM)

Платформа 1С взаимодействует с криптографией не напрямую, а через специальные COM-компоненты. Чаще всего используется CAdESCOM. Обычный пользователь может не иметь прав на запуск и активацию этих классов в операционной системе.

Посмотрим на алгоритм настройки:

  1. Откроем оснастку «Службы компонентов» (команда dcomcnfg в строке выполнения).
  2. Перейдем по пути: Службы компонентов — Компьютеры — Мой компьютер — Настройка DCOM.
  3. Найдем криптографические объекты (CAdESCOM, CAPICOM и т.д.).
  4. В свойствах каждого объекта на вкладке «Безопасность» нужно настроить права на запуск и активацию, разрешив локальный запуск обычным пользователям терминального сервера.

4. Проверка серверной лицензии КриптоПро

Проанализируем ситуацию с лицензированием. Для работы КриптоПро CSP на серверных операционных системах (Windows Server) через RDP строго обязательна серверная лицензия.

Если на сервере установлена обычная (клиентская) лицензия или лицензия вшита в сертификат, то локальный администратор сможет работать с криптографией, так как программа часто игнорирует запрет для административных учетных записей. Но при входе обычного пользователя через RDP-сессию любые криптографические операции блокируются. Убедимся, что введена именно серверная лицензия.

5. Правильная установка сертификата для пользователя

Частая ошибка системных администраторов — устанавливать сертификаты из-под учетной записи администратора или с использованием команды «Запуск от имени администратора». При этом контейнер и сертификат получают дескриптор безопасности, жестко привязанный к администратору.

Разберем, как сделать правильно:

  1. Зайдем в терминальную сессию под учетной записью обычного пользователя, который будет работать с ЭДО.
  2. Запустим интерфейс КриптоПро CSP обычным образом (без повышения прав).
  3. Установим сертификат в личное хранилище пользователя.

6. Место выполнения криптографии в 1С: На клиенте или На сервере?

Если архитектура работы 1С — клиент-серверная (сервер 1С находится на отдельной машине или служба выполняется под специальным пользователем, например USR1CV8), нужно проверить настройки самой платформы. Инициализация подписания может происходить с ошибкой, если 1С пытается выполнить операцию на сервере, а ключи находятся локально у пользователя (или проброшены в терминал).

В настройках криптографии и ЭДО платформы 1С проверим, где выполняется подписание:

  1. Если ключи пользователя проброшены в его терминальную сессию (вставлены в его ПК), флаг места подписания должен стоять строго «На клиенте».
  2. Если флаг стоит «На сервере», ключи ЭП должны быть установлены на самом сервере 1С под той учетной записью, под которой запущена служба «Агент сервера 1С:Предприятия». В противном случае обычный пользователь просто инициирует команду на сервере, где его ключей нет.

7. Проброс смарт-карт (Рутокен, JaCarta) и службы RDP

Если пользователь вставляет защищенный носитель в свой локальный компьютер и работает на терминальном сервере, рассмотрим параметры проброса оборудования:

  1. В настройках подключения к удаленному рабочему столу (RDP-клиент) на локальном ПК на вкладке «Локальные ресурсы» должна стоять галочка «Смарт-карты».
  2. На самом терминальном сервере обязательно должна быть запущена и работать служба «Смарт-карты» (Smart Card).
  3. Проверим групповые политики. Иногда администраторы ограничивают доступ к смарт-картам для обычных пользователей из соображений безопасности. Это ограничение нужно снять для тех, кто работает с 1С-Отчетностью.

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

← На главную