При работе с маркируемыми товарами в программных продуктах 1С (например, Управление торговлей 10.3, Розница 2.3 или Бухгалтерия предприятия 3.0) пользователи часто сталкиваются с критической ошибкой при попытке авторизации или отправки отгрузки в ИС МП (Честный знак). Текст ошибки обычно выглядит так: «HTTP-запрос не отправлен. Ошибка работы с Интернет: Удаленный узел не прошел проверку». Это происходит при попытке обращения к API, например, по адресу api/v3/auth/cert/key.
В этой статье мы подробно разберем причины возникновения этой ситуации и проанализируем пошаговые алгоритмы её решения, основываясь на практическом опыте специалистов. Основная причина кроется в цепочках доверия SSL/TLS сертификатов и переходе государственных систем на российские алгоритмы шифрования.
Проанализируем ситуацию: почему до определенного момента всё работало, а затем возникла ошибка? Главная причина заключается в том, что серверы ИС МП (ЦРПТ) перешли на использование сертификатов, выданных Национальным удостоверяющим центром (НУЦ) Минцифры России.
В отличие от привычных международных сертификатов (таких как GlobalSign или DigiCert), российские корневые сертификаты по умолчанию отсутствуют в хранилищах операционных систем Windows. Если платформа 1С или сама ОС не может построить полную цепочку доверия от конечного сервера api.crpt.ru до доверенного корневого центра, соединение обрывается по соображениям безопасности.
Рассмотрим дополнительные факторы, усугубляющие проблему:
cacert.pem.80092013, если не может достучаться до серверов, хранящих списки отозванных сертификатов.Первым делом мы должны убедиться, что сама операционная система доверяет сертификатам Минцифры. Рассмотрим, как это сделать правильно:
Win + R, введем certmgr.msc и нажмем Enter.Root_Russian_Trusted_CA.cer.Intermediate_Russian_Trusted_CA.cer в папку «Промежуточные центры сертификации».Важный совет: Если вы используете решения от Контур или СБИС, у них есть специальные утилиты для автоматической установки всех необходимых корневых сертификатов. Проанализируйте возможность их использования для экономии времени.
Если после установки сертификатов в Windows ошибка в 1С сохраняется, значит, платформа использует библиотеку OpenSSL и игнорирует системное хранилище. В этом случае нам необходимо вручную обновить файл cacert.pem, который содержит список доверенных центров для 1С.
Разберем этот процесс по шагам:
C:\Program Files\1cv8\8.3.XX.XXXX\bin\conf\.cacert.pem. Сделаем его резервную копию перед редактированием!certmgr.msc.-----BEGIN CERTIFICATE----- и -----END CERTIFICATE-----) и вставим его в самый конец файла cacert.pem.Рассмотрим пример того, как должен выглядеть добавленный блок в файле cacert.pem:
-----BEGIN CERTIFICATE-----
MIIF7zCCA9egAwIBAgIUKuS/1N7... (много знаков)...
... данные сертификата Минцифры ...
-----END CERTIFICATE-----
Если вы работаете на Windows Server 2008 или Windows 7, проблема может быть глубже уровня сертификатов. Проанализируем настройки протоколов безопасности. По умолчанию эти системы пытаются соединиться по TLS 1.0, который серверы ЦРПТ уже не принимают.
Для исправления ситуации необходимо внести изменения в реестр Windows:
.reg и следующим содержимым:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
"DisabledByDefault"=dword:00000000
"Enabled"=dword:00000001
Иногда ошибка вызвана тем, что 1С не может получить ответ от сервера отзывов сертификатов (CRL). Если инфраструктура предприятия имеет ограниченный доступ в интернет, проверка блокируется. В качестве временной меры или при невозможности открыть доступ к серверам списков отзыва, мы можем отредактировать файл conf.cfg.
Посмотрим, как это сделать:
C:\Program Files\1cv8\8.3.XX.XXXX\bin\conf\.conf.cfg (если его нет, создадим).
IgnoreServerCertificatesChainRevocationSoftFail=true
Эта настройка приказывает платформе игнорировать ошибки, если сервер отзыва недоступен («мягкий» сбой проверки цепочки).
Если в вашей организации используется антивирус с функцией «Проверка защищенных соединений» (например, Kaspersky Endpoint Security) или прокси-сервер с SSL-инспекцией, это может быть источником проблемы. Проанализируем механизм: антивирус подменяет сертификат сайта crpt.ru на свой собственный, чтобы расшифровать и проверить трафик. 1С видит этот «чужой» сертификат, не находит его в списке доверенных и выдает ошибку.
Чтобы решить эту задачу, выполним следующие действия:
*.crpt.ru и *.markirovka.ru в исключения проверки трафика в настройках антивируса.Мы рассмотрели основные причины ошибки «Удаленный узел не прошел проверку». Подведем итог действий:
cacert.pem внутри папки bin/conf конкретной версии платформы 1С.IgnoreServerCertificatesChainRevocationSoftFail в conf.cfg.Последовательное выполнение этих шагов позволяет восстановить полноценный обмен данными с Честным Знаком и устранить технические затыки в работе с маркировкой.