При настройке и тестировании прямого обмена с банком по технологии DirectBank в программах 1С пользователи и администраторы нередко сталкиваются с ошибкой проверки подлинности сервера банка. В файловой базе на локальном компьютере проверка может проходить успешно, однако в клиент-серверном режиме при выполнении фонового или серверного вызова возникает исключение.
Проанализируем текст типичной ошибки из журнала регистрации:
Выполнение операции: Аутентификация на сервере банка
{ОбщийМодуль.ОбменСБанкамиСлужебныйВызовСервера.Модуль(4401)}: Ошибка при вызове метода контекста (ОтправитьДляОбработки)
Ответ = Соединение.ОтправитьДляОбработки(HTTPЗапрос, ИмяФайлаРезультата);
по причине:
Ошибка работы с Интернет: Удаленный узел не прошел проверку в помощнике...
Разберем подробнее, почему возникает эта ошибка и какими способами можно восстановить корректный защищенный обмен данными с банком.
В архитектуре «1С:Предприятие» при работе в клиент-серверном режиме все сетевые вызовы к банковским шлюзам и веб-сервисам осуществляются рабочим процессом rphost непосредственно с сервера приложений. Основные причины сбоя проверки узла заключаются в следующем:
cacert.pem платформой 1С. В зависимости от операционной системы и версии платформы для валидации HTTPS-соединений может применяться встроенный файл доверенных сертификатов cacert.pem, расположенный в каталоге bin установленной платформы. Если в нем нет цепочки открытых ключей банка, узел не пройдет проверку.ragent) часто выполняется от имени системного пользователя (например, USR1CV8). Сертификаты, установленные в личное хранилище администратора Windows, для службы сервера остаются недоступными.Рассмотрим пошаговый порядок установки сертификатов в общесистемное хранилище сервера Windows:
certlm.msc или запустим консоль mmc и добавим оснастку «Сертификаты» с выбором учетной записи «локального компьютера» (Local Machine).services.msc, чтобы рабочие процессы обновили кэш доверенных сертификатов.Если платформа 1С использует механизм OpenSSL для валидации защищенных соединений, сертификаты требуется вручную прописать в файл доверенных сертификатов.
.cer или .crt). Внутри файла сертификат должен иметь вид блока текста, начинающегося с -----BEGIN CERTIFICATE----- и заканчивающегося -----END CERTIFICATE-----.C:\Program Files\1cv8\8.3.X.XXXX\bin\.cacert.pem и откроем его в текстовом редакторе от имени Администратора.cacert.pem с новой строки.cacert.pem в кодировке UTF-8 или ANSI.Важное замечание: при каждом последующем обновлении релиза платформы 1С каталог bin создается заново, а стандартный файл cacert.pem перезаписывается. После обновления платформы процедуру добавления сертификатов в cacert.pem потребуется повторить.
Проанализируем сопутствующие системные параметры, способные вызывать сбой проверки узла:
USR1CV8 либо укажем их в конфигурации 1С в разделе «Администрирование» → «Параметры подключения к Интернету».После выполнения указанных шагов повторим диагностику подключения в 1С: откроем форму настройки прямого обмена с банком и нажмем «Проверить подключение». Ошибка Удаленный узел не прошел проверку будет устранена, и аутентификация на шлюзе DirectBank завершится успешно.