Олег, Санкт-Петербург 0

Программист, который делал мобильное приложение для нашего магазина, написал в переписке, что там настроен SSL pinning, и после выпуска нового сертификата на сайте приложение перестало подключаться к серверу. Что это вообще такое и стоило ли предусмотреть это заранее?

Дмитрий Акиндинов технический администратор сайтов

ответил

SSL pinning, он же закрепление сертификата, — это настройка внутри мобильного приложения, при которой оно доверяет не любому сертификату из общего списка доверенных центров сертификации, а только конкретному, заранее прописанному в коде. Задумка в защите: если кто-то попытается подменить сертификат и перехватить трафик между приложением и сервером, устройство обычно бы это пропустило, а приложение с pinning откажется соединяться. Обратная сторона в том, что при смене настоящего сертификата на сервере приложение видит новый сертификат как чужой и тоже блокирует соединение — это ровно ваш случай, и это ожидаемое поведение настройки, а не поломка.

К обычному сайту в браузере SSL pinning отношения не имеет: браузеры всегда проверяют сертификат по общему списку доверенных центров и не привязываются к конкретному файлу, поэтому смена сертификата на сайте для посетителей через браузер проходит незаметно. Проблема возникает именно потому, что мобильное приложение живёт по своим правилам, прописанным разработчиком.

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

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

Подробный разбор Смешанный контент на HTTPS: почему пропал замок и как это починить

Задать свой вопрос

Вопросы проходят модерацию. Ответ появляется на сайте в течение пары дней.

Похожие вопросы

Все вопросы по теме "Поддержка и абонентское обслуживание"

Заявка

Обсудим задачу

Напишите имя и телефон, выберите удобный канал. Перезвоню или напишу в течение часа в рабочее время.

Куда удобнее ответить?