Как исправить ошибку «Удаленный узел не прошел проверку» при настройке DirectBank в 1С?

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

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

Проанализируем текст типичной ошибки из журнала регистрации:


Выполнение операции: Аутентификация на сервере банка
{ОбщийМодуль.ОбменСБанкамиСлужебныйВызовСервера.Модуль(4401)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяФайлаРезультата);
по причине:
Ошибка работы с Интернет: Удаленный узел не прошел проверку в помощнике...

Разберем подробнее, почему возникает эта ошибка и какими способами можно восстановить корректный защищенный обмен данными с банком.

Причины возникновения ошибки

В архитектуре «1С:Предприятие» при работе в клиент-серверном режиме все сетевые вызовы к банковским шлюзам и веб-сервисам осуществляются рабочим процессом rphost непосредственно с сервера приложений. Основные причины сбоя проверки узла заключаются в следующем:

  1. Отсутствие корневых и промежуточных сертификатов на сервере. Сертификат веб-сервера банка подписан удостоверяющим центром (УЦ). Если на сервере 1С операционная система не доверяет корневому или промежуточному центру сертификации (например, отсутствуют сертификаты НУЦ Минцифры или УЦ банка), защищенное TLS-соединение блокируется.
  2. Использование хранилища cacert.pem платформой 1С. В зависимости от операционной системы и версии платформы для валидации HTTPS-соединений может применяться встроенный файл доверенных сертификатов cacert.pem, расположенный в каталоге bin установленной платформы. Если в нем нет цепочки открытых ключей банка, узел не пройдет проверку.
  3. Контекст учетной записи службы 1С. Служба сервера (ragent) часто выполняется от имени системного пользователя (например, USR1CV8). Сертификаты, установленные в личное хранилище администратора Windows, для службы сервера остаются недоступными.
  4. Блокировка серверов проверки списков отзыва (CRL/OCSP). Если на сервере ограничен выход в интернет и закрыт доступ к серверам проверки статуса сертификатов, операционная система считает узел ненадежным.

Способ 1. Добавление корневых и промежуточных сертификатов в хранилище операционной системы

Рассмотрим пошаговый порядок установки сертификатов в общесистемное хранилище сервера Windows:

  1. Получим открытые сертификаты банка (корневой и промежуточный) с официального сайта банка или из комплекта поставки ключей прямого обмена.
  2. На сервере приложений 1С откроем оснастку управления сертификатами компьютера: выполним команду certlm.msc или запустим консоль mmc и добавим оснастку «Сертификаты» с выбором учетной записи «локального компьютера» (Local Machine).
  3. Импортируем корневой сертификат банка / Минцифры в ветку «Доверенные корневые центры сертификации» → «Сертификаты».
  4. Импортируем промежуточный сертификат в ветку «Промежуточные центры сертификации» → «Сертификаты».
  5. Если для аутентификации используется клиентская ЭЦП, проверим ее наличие в ветке «Личное» учетной записи службы сервера или компьютера.
  6. Перезапустим службу «Агент сервера 1С:Предприятия 8.3» через оснастку services.msc, чтобы рабочие процессы обновили кэш доверенных сертификатов.

Способ 2. Добавление цепочки сертификатов в файл cacert.pem платформы 1С

Если платформа 1С использует механизм OpenSSL для валидации защищенных соединений, сертификаты требуется вручную прописать в файл доверенных сертификатов.

  1. Экспортируем корневой и промежуточный сертификаты банка в текстовый формат Base64 (X.509 с расширением .cer или .crt). Внутри файла сертификат должен иметь вид блока текста, начинающегося с -----BEGIN CERTIFICATE----- и заканчивающегося -----END CERTIFICATE-----.
  2. Перейдем в каталог исполняемых файлов платформы на сервере: например, C:\Program Files\1cv8\8.3.X.XXXX\bin\.
  3. Найдем файл cacert.pem и откроем его в текстовом редакторе от имени Администратора.
  4. Скопируем текстовое содержимое обоих файлов сертификатов и вставим их в самый конец файла cacert.pem с новой строки.
  5. Сохраним изменения в файле cacert.pem в кодировке UTF-8 или ANSI.
  6. Перезапустим службу сервера 1С:Предприятия и повторим тест подключения в помощнике DirectBank.

Важное замечание: при каждом последующем обновлении релиза платформы 1С каталог bin создается заново, а стандартный файл cacert.pem перезаписывается. После обновления платформы процедуру добавления сертификатов в cacert.pem потребуется повторить.

Способ 3. Проверка сетевых параметров и системного времени

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

  1. Синхронизация времени: убедимся, что системное время и часовой пояс на сервере 1С синхронизированы по протоколу NTP. Если время расходится даже на несколько минут, срок действия TLS-сертификата банка может быть признан недействительным.
  2. Настройки прокси-сервера: если сервер выходит в интернет через прокси, настроим системные параметры прокси-сервера для учетной записи USR1CV8 либо укажем их в конфигурации 1С в разделе «Администрирование» → «Параметры подключения к Интернету».
  3. Доступность списков отзыва: проверим доступность адресов CRL и OCSP из браузера или с помощью сетевых утилит с сервера 1С.

После выполнения указанных шагов повторим диагностику подключения в 1С: откроем форму настройки прямого обмена с банком и нажмем «Проверить подключение». Ошибка Удаленный узел не прошел проверку будет устранена, и аутентификация на шлюзе DirectBank завершится успешно.

← На главную