При работе в конфигурации 1С:Управление производственным предприятием (УПП) или других решениях на платформе 1С:Предприятие 8 пользователи часто сталкиваются с неприятной ситуацией. При попытке создать нового контрагента и заполнить его данные по ИНН система выдает предупреждение: «Ошибка при работе с сервисом (подробнее см. Журнал регистрации)». При анализе Журнала регистрации обнаруживается техническая ошибка вызова конструктора WSОпределения по причине: При вызове веб-сервиса произошла ошибка. При создании описания сервиса произошла ошибка... Удаленный узел не прошел проверку.
В этой статье мы подробно разберем, почему возникает данная проблема, проанализируем механизмы работы платформы с защищенными SSL/TLS-соединениями и изучим пошаговые инструкции по полному восстановлению работоспособности сервиса автозаполнения.
Ошибка указывает на то, что платформа 1С при обращении к удаленному серверу сервиса (например, по адресу https://api.orgregister.1c.ru/orgregister/v7?wsdl) не смогла подтвердить подлинность SSL-сертификата безопасности веб-узла. Безопасное TLS-соединение отклоняется, так как цепочка доверия к удостоверяющему центру (CA), который выдал сертификат для домена 1С, не может быть проверена на стороне вашего компьютера или сервера.
Логика валидации SSL-сертификатов платформой 1С зависит от используемой версии платформы и установленного режима совместимости конфигурации:
cacert.pem, расположенный в каталоге установки платформы. Если корневой сертификат удаленного ресурса изменился (как это произошло с переходом сервисов 1С на УЦ DigiCert), а файл cacert.pem остался старым, 1С заблокирует соединение.Рассмотрим детально решения для каждого из возможных сценариев.
Если ваша конфигурация работает в режиме совместимости с версией 8.3.7 или более ранней (например, в УПП часто установлен режим совместимости 8.2.13), вам необходимо обновить файл cacert.pem на всех компьютерах, где выполняется код (на клиентских рабочих местах при файловом варианте работы или на сервере приложений 1С при клиент-серверной архитектуре).
Файл cacert.pem располагается по следующему пути на диске:
Для 32-битных версий платформы: C:\Program Files (x86)\1cv8\[ВерсияПлатформы]\bin\cacert.pem
Для 64-битных версий платформы: C:\Program Files\1cv8\[ВерсияПлатформы]\bin\cacert.pem
Мы можем обновить этот файл тремя способами:
Способ А. Полная автоматическая замена файла
Этот способ предпочтителен, если вы ранее не редактировали этот файл вручную и не вносили туда сторонние сертификаты других веб-сервисов:
cacert.pem в папке bin вашей версии платформы. Обратите внимание, что для перезаписи файлов в системной папке Program Files потребуются права администратора Windows.Способ Б. Использование специальной обработки 1С
Если база файловая и ручное обновление на компьютерах пользователей затруднено, можно использовать специализированную обработку автоматического обновления сертификатов:
cacert.pem необходимые строки с сертификатами DigiCert.Способ В. Ручное редактирование файла cacert.pem
Если в вашем файле cacert.pem уже содержатся специфические настройки и сертификаты для интеграции с другими внешними API, перезаписывать его нельзя. Выполним добавление вручную:
cacert.pem в любом текстовом редакторе (например, Блокнот или Notepad++), предварительно запустив редактор от имени Администратора.
-----BEGIN CERTIFICATE-----
MIIEtjCCA56gAwIBAgIQDHN2rI18BD98IFgR8Z3yHDANBgkqhkiG9w0BAQsFADBy
MQswCQYDVQQGEwJVUzELMAkGA1UECBMCVVQxFzAVBgNVBAcTDlNhbHQgTGFrZSBD
aXR5MR4wHAYDVQQKExVCOV...
-----END CERTIFICATE-----
Важно подчеркнуть критическую деталь: начиная с февраля-апреля 2022 года фирма «1С» полностью прекратила поддержку и отключила старый шлюз данных SOAP API, работавший по адресу https://api.orgregister.1c.ru/orgregister/v7?wsdl.
Поэтому, если вы используете старую конфигурацию УПП (как в сообщении автора темы) и пытаетесь обращаться к версии v7, обновление сертификатов может не дать результата, так как сам сервер v7 больше не функционирует. В современных реалиях необходимо перенаправить запросы на новый REST API.
Рассмотрим, как решить эту задачу:
WSОпределения к версии v7 на прямые HTTP-запросы к новому REST-сервису по адресу https://api.orgregister.1c.ru/orgregister/v1 или воспользоваться внешней обработкой заполнения реквизитов по ИНН, которая работает через сторонние API (например, DaData или обновленные механизмы 1С).Иногда после обновления платформы или замены конфигурационных файлов 1С продолжает обращаться по старым путям или хранить некорректную структуру описания веб-сервисов. Это происходит из-за агрессивного кэширования схем XDTO платформой.
Выполним процедуру очистки кэша программных интерфейсов:
Кэш программных интерфейсов.api.orgregister.1c.ru).С 2022 года многие российские сервисы начали переводить свои веб-ресурсы на сертификаты безопасности, выданные Национальным удостоверяющим центром (НУЦ Минцифры России). Данные корневые сертификаты отсутствуют по умолчанию во многих операционных системах Windows и Linux, а также во встроенном хранилище старых платформ 1С.
Для исправления этой проблемы на современных системах без режима совместимости:
ragent)./usr/local/share/ca-certificates/ и выполните команду sudo update-ca-certificates).Начиная с версии платформы 8.3.10, логика проверки безопасности защищенных соединений существенно усложнилась. Теперь платформа 1С при установке SSL/TLS-соединения в обязательном порядке пытается проверить, не отозван ли предъявленный сервером сертификат.
Для этого процесс платформы (клиентский сеанс или рабочий процесс сервера rphost) отправляет HTTP-запросы к серверам выдачи списков отзывов (CRL) или серверам протокола OCSP, указанным в свойствах сертификата.
Возможная проблема: Если сервер 1С находится в закрытом корпоративном контуре без прямого доступа к интернету (или доступ ограничен строгими правилами брандмауэра), запрос на проверку отзыва зависнет по таймауту, и платформа выбросит ошибку Удаленный узел не прошел проверку.
Для устранения этой сетевой проблемы выполните следующие действия:
USR1CV8), разрешен исходящий сетевой доступ по портам 80 (HTTP) и 443 (HTTPS) к адресам валидации сертификатов.inetcfg.xml. Этот файл располагается в каталоге conf установленной платформы (например, C:\Program Files\1cv8\conf\inetcfg.xml). Пример заполнения файла конфигурации прокси:
<config xmlns="http://v8.1c.ru/edi/edi_stnd/settings">
<proxy
use="true"
server="192.168.1.100"
port="8080"
bypassOnLocal="true">
<user>Domain\User1C</user>
<password>StrongPassword123</password>
</proxy>
</config>
Если после выполнения всех инструкций ошибка продолжает возникать, проведите простой диагностический тест:
https://api.orgregister.1c.ru/orgregister/v1).cacert.pem конкретной версии платформы 1С.Таким образом, своевременное обновление сертификатов безопасности платформы, регулярная очистка кэша программных интерфейсов и перевод интеграции на современные REST API позволят вам раз и навсегда избавиться от сбоев при автоматическом получении данных контрагентов.