Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

FTPS 1С:Предприятие и СУБД

1С FTP обмен не работает после включения обязательного SSL (FTPS)

Обновлено: 10.09.2026 · Официальная документация ↗

Протоколы передачи и ограничения платформы 1С

Проблемы с FTP-обменами в 1С часто начинаются, когда ИТ-отдел хостинга или ИБ-служба запрещает передачу данных открытым текстом (FTP, порт 21) и требует обязательного использования шифрования FTP over SSL/TLS (FTPS). Платформа 1С:Предприятие 8 поддерживает FTPS, но требует явного указания параметра защищенного соединения в коде. Ошибки также возникают из-за непройденной валидации SSL-сертификатов сервера. Бизнес-риски: остановка обмена электронными накладными (EDI), заказами с сайтом (Bitrix) или распределенными базами (РИБ через FTP).

Различия протоколов и их поддержка в 1С

ПротоколПортШифрованиеПоддержка из коробки в 1С (Объект FTPСоединение)
FTP21Нет (Открытый текст)Да, полная.
FTPS (Explicit/Implicit)21 / 990SSL/TLSДа (через параметр ЗащищенноеСоединение).
SFTP (SSH File Transfer)22SSHНЕТ. Требует внешних компонент (WinSCP COM, PuTTY).

Настройка FTPS-соединения в коде 1С

Сценарий 1: Модификация кода подключения (Добавление SSL)

Если обмен самописный, необходимо изменить инициализацию объекта FTPСоединение. Добавьте объект ЗащищенноеСоединениеOpenSSL.

 // Инициализация настроек SSL (без проверки сертификата - для тестов)
SSL = Новый ЗащищенноеСоединениеOpenSSL(
    Неопределено, 
    Новый СертификатыУдостоверяющихЦентровОС()
);

 // Создание защищенного FTPS соединения
Соединение = Новый FTPСоединение(
    "ftp.myserver.com", // Сервер
    21,                 // Порт (Explicit FTPS работает на 21 порту)
    "User1",            // Логин
    "Password",         // Пароль
    Неопределено,       // Прокси
    Истина,             // Пассивный режим (ОБЯЗАТЕЛЬНО для NAT)
    0,                  // Таймаут
    SSL                 // <--- ПАРАМЕТР ЗАЩИЩЕННОГО СОЕДИНЕНИЯ
);

Соединение.Записать(ИмяЛокальногоФайла, ИмяУдаленногоФайла);

Сценарий 2: Решение проблем с валидацией сертификатов (cacert.pem)

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

  1. Экспортируйте публичный ключ корневого сертификата FTP-сервера в формате Base64 (файл .cer или .pem).
  2. Откройте файл cacert.pem, который лежит в папке платформы: C:\Program Files\1cv8\<Версия>\bin\cacert.pem.
  3. Вставьте содержимое вашего сертификата в конец этого файла. Перезапустите службу агента сервера 1С.

Типовые ошибки разработчиков

  • Путаница между FTPS и SFTP: Разработчики часто пытаются использовать объект FTPСоединение на порт 22 (SSH). Это никогда не сработает. Для SFTP в 1С необходимо использовать объект ЗапускПриложения() с вызовом консольной утилиты (WinSCP) или подключать COM-объекты.
  • Забытый Пассивный режим: При использовании FTPS шифруется канал управления, поэтому роутеры (NAT) не могут прочитать команды PORT и пробросить порты для канала данных (Active mode). Всегда используйте Пассивный режим (Параметр = Истина).
Типовой обмен с сайтом перестал работать после смены хостинга?
Настройка сертификатов и протоколов обмена в типовых конфигурациях (УТ, ERP, КА) имеет свои скрытые нюансы в подсистеме БСП. Эксперты ITSTM быстро адаптируют ваши узлы обмена под новые требования ИБ (SSL/TLS, WebDAV) без потери истории синхронизации.
💡 Практика специалистов: Практика ITSTM: При работе с FTPS в клиент-серверной архитектуре файл cacert.pem нужно править НА СЕРВЕРЕ 1С, а не на клиенте, так как объект FTPСоединение при выполнении фоновых заданий (обменов) создается процессом rphost.exe.

Частые вопросы (FAQ)

Как настроить FTPS в типовом обмене (через справочник 'Узлы обмена')?

В современных версиях Библиотеки Стандартных Подсистем (БСП) в настройках узла обмена (настройка транспорта) появилась галочка 'Использовать защищенное соединение (FTPS)'. Достаточно установить её, не меняя код.

Что такое Explicit и Implicit FTPS?

Implicit (Неявный) — устаревший метод, соединение сразу устанавливается по зашифрованному порту 990. Explicit (Явный) — соединение устанавливается по стандартному порту 21, после чего 1С отправляет команду AUTH TLS для включения шифрования. 1С поддерживает Explicit FTPS.

Почему 1С ругается на сертификат, хотя в браузере он доверенный?

Потому что сервер 1С (rphost) использует не системное хранилище сертификатов Windows, а свой собственный файл cacert.pem. Если сертификат выдан локальным УЦ, его нужно вручную добавить в cacert.pem платформы.

Можно ли отключить проверку сертификата в коде?

Да, но это снизит безопасность (риск MITM атак). Можно передать Неопределено во второй параметр ЗащищенноеСоединениеOpenSSL, но лучше использовать 'Новый СертификатыУдостоверяющихЦентровОС()', чтобы 1С брала корневые сертификаты из ОС (доступно в новых версиях платформы).

Полезные материалы
Рекомендуем