Как исправить ошибку «В профиле нет доступных сертификатов» в 1С-ЭДО после переноса базы на сервер?

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

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

  1. «В профиле нет доступных сертификатов. Тест не выполнен»
  2. «Нет доступных сертификатов. Тест не выполнен»
  3. Предупреждение о том, что электронная подпись (ЭП) отсутствует в Личном списке («Личном хранилище») сертификатов.

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

Выясняем причину: почему «слетают» сертификаты?

Для начала проанализируем физическую суть электронной подписи. Сертификат ЭП — это не просто файл, загруженный в программу 1С. Это сложная связка, состоящая из:

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


Решение 1: Очистка привязки к пользователю в настройках 1С

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

Проанализируем ситуацию по шагам и исправим привязку:

  1. Перейдем в раздел Администрирование, далее выберем пункт Обмен электронными документами.
  2. Откроем гиперссылку Настройки электронной подписи и шифрования (в некоторых конфигурациях этот справочник называется НастройкиЭлектроннойПодписиИШифрования).
  3. Перейдем на вкладку Сертификаты и дважды кликнем на проблемный сертификат организации, чтобы открыть его карточку.
  4. Обратим внимание на реквизит Пользователь. Если там указан конкретный сотрудник (например, старая учетная запись до переноса базы), то подпись будет видна исключительно ему. Если подписью должны пользоваться несколько человек (или учетная запись текущего пользователя изменилась), очистим это поле (сделаем его пустым) и нажмем Записать и закрыть.

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


Решение 2: Правильная установка личного сертификата в ОС на сервере через КриптоПро CSP

Простого копирования файла сертификата .cer на сервер недостаточно. Программа 1С-ЭДО обращается к хранилищу сертификатов Windows текущего пользователя. Нам необходимо правильно связать публичный сертификат с закрытым контейнером ключа на сервере.

Выполним установку по шагам:

  1. Зайдем на сервер под той учетной записью Windows, под которой работает конечный пользователь в терминале.
  2. Запустим программу КриптоПро CSP с правами администратора.
  3. Перейдем на вкладку Сервис и нажмем кнопку Установить личный сертификат....
  4. В открывшемся мастере установки нажмем «Обзор» и выберем файл сертификата (выгруженный ранее файл .cer). Нажмем «Далее».
  5. В следующем окне обязательно поставим галочку Найти контейнер автоматически либо укажем путь к контейнеру закрытого ключа вручную (если он находится в реестре сервера или на подключенной флешке).
  6. Важно: убедимся, что установлена галочка Установить сертификат в контейнер. Это свяжет открытый и закрытый ключи.
  7. В качестве хранилища выберем папку Личное (Personal) и завершим установку.

После этого откроем 1С, зайдем в справочник сертификатов и выполним тест настройки. Проблема с отсутствием в личном списке должна исчезнуть.


Решение 3: Настройка проброса USB-токенов через RDP (терминальный сервер)

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

Выполним настройку подключения к удаленному рабочему столу:

  1. На локальном компьютере пользователя запустим стандартную утилиту Windows Подключение к удаленному рабочему столу (mstsc.exe).
  2. Нажмем кнопку Показать параметры в левом нижнем углу окна.
  3. Перейдем на вкладку Локальные ресурсы.
  4. В блоке «Локальные устройства и ресурсы» нажмем кнопку Подробнее....
  5. В открывшемся списке устройств обязательно установим флаг напротив пункта Смарт-карты (а также «Порты» и «Диски», если ключи хранятся на обычной флешке).
  6. Нажмем «ОК», вернемся на вкладку «Общие» и сохраним настройки подключения.

Теперь при подключении к серверу по RDP электронный ключ (токен) будет «пробрасываться» в сессию, и установленный в системе криптопровайдер КриптоПро CSP сможет успешно прочитать контейнер.


Решение 4: Проверка места выполнения криптографических операций (Клиент vs Сервер)

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

Проанализируем настройки программы:

  1. Перейдем в Администрирование -> Обмен электронными документами -> Настройки электронной подписи и шифрования.
  2. Нажмем кнопку Настройки программы (или перейдем на вкладку общих параметров).
  3. Обратим внимание на два флага:
    • Выполнять проверку подписей и сертификатов на сервере
    • Выполнять подписание и шифрование на сервере

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

Если же бизнес-процесс требует выполнять подписание именно на сервере приложений, то вам придется:

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

Решение 5: Установка корневых сертификатов Минцифры и ФНС

При переносе 1С на новый сервер операционная система может не иметь актуальных доверенных корневых сертификатов, из-за чего цепочка доверия подписи будет нарушена. Криптопровайдер посчитает сертификат недействительным, а 1С откажется его использовать.

Для исправления ситуации выполним следующие действия:

  1. Скачаем актуальные корневые сертификаты Головного удостоверяющего центра (Минцифры РФ) и УЦ ФНС РФ с официальных государственных порталов.
  2. На сервере дважды кликнем по скачанному файлу сертификата (например, guc.cer).
  3. Нажмем кнопку Установить сертификат....
  4. В мастере импорта выберем расположение: Локальный компьютер.
  5. Выберем вариант Поместить все сертификаты в следующее хранилище и укажем папку Доверенные корневые центры сертификации.
  6. Завершим импорт и перезапустим сеанс 1С.

Резюме и чеклист для быстрой проверки

Если после переноса 1С на сервер у вас перестал работать ЭДО, последовательно пройдите по этому списку:

← На главную