Как восстановить работу SSL Let's Encrypt на ТСД Urovo i6200S с Android 5.1.1?

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

В работе с терминалами сбора данных (ТСД) на базе устаревших версий операционных систем, таких как Android 5.1.1, системные администраторы часто сталкиваются с внезапным прекращением работы обмена данными по защищенному протоколу https. Особенно остро эта проблема проявилась на устройствах Urovo i6200S. Разберем ситуацию: после очередного обновления SSL-сертификата Let's Encrypt на сервере 1С, ТСД перестает подключаться к веб-сервисам или мобильному приложению, а браузер выдает ошибку безопасности. Проанализируем причины этого явления и пошагово восстановим работоспособность оборудования.

Выясним причину: почему сертификаты перестали приниматься?

Проблема носит глобальный характер и связана с архитектурой доверия в интернете. Большинство бесплатных сертификатов Let's Encrypt раньше использовали кросс-подпись корневого сертификата DST Root CA X3 (владелец — IdenTrust). Срок действия этого «корня» истек 30 сентября 2021 года. Новые сертификаты Let's Encrypt теперь опираются на собственный корневой сертификат — ISRG Root X1.

Проанализируем состояние ТСД Urovo i6200S: установленная на нем Android 5.1.1 была выпущена задолго до того, как сертификат ISRG Root X1 стал общепризнанным стандартом. В системном хранилище (Trusted Root Store) этого устройства просто нет записи о новом «корне». В результате, когда мобильное приложение 1С пытается установить соединение через HTTPСоединение, система Android не может подтвердить подлинность сервера, так как цепочка доверия обрывается на неизвестном ей звене.

Разберем первый способ: Ручная установка сертификата в пользовательское хранилище

Рассмотрим самый доступный метод, не требующий модификации системных разделов устройства. Нам необходимо вручную «познакомить» Android с новым корневым сертификатом.

  1. Подготовка файла: Нам понадобится файл корневого сертификата ISRG Root X1. Важно использовать формат .der или .crt в кодировке DER, так как старые версии Android плохо воспринимают текстовый формат PEM.
  2. Передача на устройство: Скопируем файл во внутреннюю память ТСД или на SD-карту любым доступным способом (через USB-кабель или сервис передачи файлов).
  3. Правильная установка: Как показывает практика, попытка просто «открыть» файл через файловый менеджер на Urovo i6200S часто приводит к ошибке «Невозможно открыть файл». Вместо этого выполним следующие действия:
    • Перейдем в Настройки (Settings).
    • Выберем раздел Безопасность (Security).
    • Найдем пункт Установка из памяти устройства (Install from storage).
    • Система сама просканирует память на наличие сертификатов. Выберем наш файл isrgrootx1.der.
    • В появившемся окне введем любое понятное имя (например, "LetsEncryptRoot") и в поле «Использование учетных данных» выберем VPN и приложения.

Важный нюанс: Android 5.1.1 потребует наличия установленного пароля или графического ключа на экране блокировки для использования пользовательских сертификатов. Если защиты нет, система предложит её создать.

Проанализируем ситуацию с предупреждением «Сеть может прослушиваться»

После ручной установки сертификата в области уведомлений ТСД появится постоянное предупреждение: «Сеть может прослушиваться третьей стороной». Это штатное поведение Android 5.1, указывающее на то, что в цепочку доверия добавлен пользовательский сертификат. Для работы 1С это не является препятствием, однако может раздражать пользователей.

Если на ТСД получены права Root, мы можем переместить сертификат из пользовательского хранилища в системное, чтобы убрать это уведомление. Рассмотрим алгоритм для опытных администраторов:


# Конвертируем сертификат в формат с хеш-именем (выполняется на ПК с OpenSSL)
openssl x509 -inform DER -subject_hash_old -in isrgrootx1.der | head -1
# Получаем хеш, например: 4042b5d2

# Переименовываем файл в 4042b5d2.0
# Копируем файл в системную папку ТСД (требуется Root и Mount RW)
adb shell su -c "mount -o rw,remount /system"
adb push 4042b5d2.0 /system/etc/security/cacerts/
adb shell su -c "chmod 644 /system/etc/security/cacerts/4042b5d2.0"

После перезагрузки сертификат станет доверенным на системном уровне, и предупреждение исчезнет.

Рассмотрим влияние системного компонента WebView

Часто мобильные клиенты 1С и специализированное ПО для ТСД используют встроенный компонент Android System WebView для отображения интерфейса или обработки запросов. На Urovo i6200S этот компонент может быть очень старым.

Даже если мы установим современный браузер (например, Firefox, который имеет собственное хранилище сертификатов), 1С:Мобильная платформа все равно будет использовать системный WebView. Поэтому мы рекомендуем обновить Android System WebView через установку APK-файла последней совместимой версии для Android 5.1 (обычно это версии около 95-й ветки). Это значительно повышает стабильность работы с современными протоколами шифрования TLS 1.2 и выше.

Альтернативное решение на стороне сервера

Если у вас нет возможности оперативно обновить парк ТСД, проанализируем вариант смены поставщика SSL-сертификата на сервере. Рассмотрим переход с Let's Encrypt на ZeroSSL или Buypass.

Корневые сертификаты ZeroSSL (Sectigo/Comodo) имеют более длительную историю доверия и их «корни» обычно уже присутствуют в прошивках старых устройств 2015-2016 годов выпуска. Настройка сервера (Nginx или Apache) при этом практически не меняется, так как ZeroSSL также поддерживает протокол автоматизации ACME. Использование таких сертификатов позволяет избежать ручной настройки каждого ТСД на складе.

Резюме и рекомендации

Мы проанализировали проблему и выяснили, что основной причиной сбоя является устаревание системных механизмов проверки SSL на Android 5.1.1. Для решения задачи мы рекомендуем:

  1. Выполнить ручную установку сертификата ISRG Root X1 через меню безопасности Android.
  2. Обновить Android System WebView до максимально возможной версии.
  3. При невозможности настройки каждого ТСД — рассмотреть использование платных или альтернативных бесплатных сертификатов с более старыми корневыми центрами.

Помните, что срок действия кросс-подписей Let's Encrypt для старых устройств ограничен сентябрем 2024 года, поэтому в долгосрочной перспективе стоит планировать обновление парка ТСД на модели с поддержкой современных версий Android (от 10 и выше).

← На главную