Сертификаты для Android

1. Скачайте корневой сертификат «Russian Trusted Root CA.cer» → перейдите в «Настройки» → в поиске введите «Сертификат» → выберите «Сертификат CA» (или «Сертификат центра сертификации»).
Если появится окно «Укажите название сертификата», введите «Russian Trusted Root CA» → выберите «VPN и приложения» → нажмите «ОК».

2. Если откроется предупреждение, нажмите «Все равно установить» или «Установить в любом случае».

3. Введите код-пароль от устройства → «Подтвердить» → в «Загрузках» выберите «Russian Trusted Root CA.cer».

4. Сертификат установится, и в нижней части экрана появится уведомление «Сертификат ЦС установлен».
Установите выпускающий сертификат

1. Скачайте выпускающий сертификат «Russian Trusted Sub CA.cer» → перейдите в «Настройки» → в поиске введите «Сертификат» → выберите «Сертификат CA» (или «Сертификат центра сертификации») → в предупреждении выберите «Все равно установить» или «Установить в любом случае».

2. Введите код-пароль от устройства → «Подтвердить» → в «Загрузках» выберите «Russian Trusted Sub CA.cer».

3. Сертификат установится и в нижней части экрана появится уведомление «Сертификат ЦС установлен».
Если появится окно «Укажите название сертификата», введите «Russian Trusted Sub CA» → выберите «VPN и приложения» → нажмите «ОК».

Проверьте, что установка прошла успешно
В поиске в «Настройках» введите «Надежные сертификаты» или «Надежные учетные данные» → перейдите на вкладку «Пользователь» → в списке появится два установленных сертификата Минцифры «Russian Trusted Root CA» и «Russian Trusted Sub CA». Готово, всё получилось!
Важно: после установки сертификатов очистите кэш вашего браузера. Это необходимо для корректной работы с веб-ресурсами, защищенными сертификатами Национального УЦ Минцифры России.
Как установить сертификат на эмуляторе в системный раздел
Привет! Меня зовут Валерий, я SDET-разработчик в SimbirSoft. В этой статье на примере сниффера Charles я расскажу, как быть, если ваше Android-приложение не позволяет просматривать трафик при стандартном способе установки сертификата.
Дело в том, что сервер отправляет клиенту цифровой сертификат для собственной аутентификации. Клиент до начала передачи данных проверяет валидность (аутентичность) полученного серверного сертификата относительно имеющихся корневых сертификатов удостоверяющих центров. Алгоритм устроен таким образом, что невозможно незаметно расшифровать, прочитать и зашифровать сообщение обратно.
Программа для чтения трафика вынуждена иметь свой сертификат (не из удостоверяющих центров), с помощью которого сообщение будет зашифровано после прочтения и отправлено на клиент (в нашем случае приложение).
Для пошагового повторения за мной понадобятся следующие утилиты Android-студии:
Нужно использовать эмулятор без PlayMarket, потому что только такие эмуляторы можно перезагрузить под root.
Ниже та самая проблема, решение которой мы ищем:
Сертификат установлен в графическом режиме:
Запускаем тестируемое приложение:
Как мы видим, Android-приложения по умолчанию не доверяют установленным пользователем сертификатам, так как они размещаются не в папке /system/etc/security/cacerts.
Возможность произвести подобную установку убрали для API старше версии API 28 (Android 9.0).
1. Скачайте сертификат своего прокси (я использую Charles):
2. Переименуйте сертификат.
Сертификаты в Android сохранены с хэшем в качестве имени файла, c разрешением «0».
Если этого не сделать, сертификат будет проигнорирован.
export hashed_name=`openssl x509 -inform PEM -subject_hash_old -in charles-ssl-proxying-certificate.pem | head -1`
cp charles-ssl-proxying-certificate.pem $hashed_name.0
3. Скопируйте сертификат на эмулятор:
вывести список эмуляторов в системе:
запустить эмулятор с именем , системная область открыта на запись:
подключить корневую область на чтение-запись:
(если adb сообщит, что надо перезагрузиться, перезагружаемся)
скопировать сертификат на эмулятор:
у сертификата должны быть именно такие права доступа:
adb shell chmod 664 /system/etc/security/cacerts/
4. Запустите эмулятор с параметром прокси сервера:
Теперь всегда необходимо запускать эмулятор с параметром -writable-system,
иначе он будет загружен с «чистой» системной областью,
emulator @ -writable-system -http-proxy
emulator @Pixel_6_API_33 -writable-system -http-proxy 192.168.3.101:8888
Запустим тестируемое приложение:
Мы видим, что трафик отображается расшифрованным.
Вывод
С помощью приема установки сертификата в системный раздел эмулятора мы смогли расширить свои возможности по чтению трафика в Android-приложениях. Желаю успехов!
Понравилась статья? Подписывайся на наши соцсети и блог — там мы регулярно публикуем интересные кейсы, новости, в том числе и по SDET, а также анонсы онлайн-мероприятий и практикумов:
Как установить российские сертификаты на Android, Windows, iPhone и macOS

Современные интернет построен так, что у каждого сайта, работающего с данными пользователей, должен быть TLS-сертификат — цифровая подпись домена, подтверждающая его подлинность. Если этот сертификат отозван, ни один браузер не пустит пользователя на сайт — это сделано из соображений безопасности.
Telegram-канал создателя Трешбокса про технологии
В конце сентября Сбер перевёл свой основной сайт на российский сертификат, выпущенный Национальным удостоверяющим центром Минцифры. В будущем на такие перейдут все сервисы Сбера — так же могут поступить и другие системообразующие организации, попавшие под зарубежные санкции (велика вероятность, что они не смогут продлить существующие сертификаты).
Чтобы они у вас открывались, необходимо установить российские сертификаты на свои устройства.
Что нужно знать до установки
- Сертификат понадобится на всех устройствах, с которых вы планируете заходить на требующие его отечественные сайты. Их придётся установить на смартфон, компьютер и/или планшет отдельно.
- Для доступа к российским сервисам через приложение, а не сайт, сертификат не нужен — приложение «Госуслуг», мобильный клиент «СберБанк Онлайн» и другие программы продолжат работать.
- На официальном сайте «Госуслуг» есть список порталов, которым выдали отечественный сертификат — доступ без российской цифровой подписи будет ограничен только к ним.
Самый простой способ — использовать российский браузер
Сейчас необходимые сертификаты поддерживаются только российскими веб-обозревателями — Яндекс Браузером и Atom от VK (Mail.Ru). Подробности о работе приложения от «ВКонтакте» неизвестны, но Яндекс.Браузер раскрыл свои алгоритмы. Он применяет сертификаты не для всего рунета, а только для тех доменов, которым выданы эти цифровые подписи — если применять сертификаты сразу на всех сайтах, порталы без их наличия просто не открывались бы.
Однако если вы не хотите использовать отечественный браузер на всех своих устройствах, российские сертификаты можно встроить и в саму операционную систему. В таком случае получится использовать любой веб-обозреватель, будь то Chrome, Opera, Safari или любой другой.
Установка на Android (Xiaomi и другие)
- Откройте «Госуслуги» и зайдите на страницу «Поддержка работы сайтов с российскими сертификатами».
- Перейдите к разделу сертификатов для Android и скачайте корневой.
- После окончания загрузки перейдите в «Настройки» смартфона, а затем в окне поиска введите «Сертификат» (если этого поля для поиска нет, потяните пункты настроек вниз).




Чтобы проверить, успешно ли установились сертификаты, необходимо вернуться к «Настройкам» смартфона и в поле поиска ввести «Надежные сертификаты» (или «Надежные учетные данные») и открыть найденный пункт. В нём в категории «Пользователь» должны быть два сертификата: Russian Trusted Root CA и Russian Trusted Sub CA.
Установка на смартфонах и планшетах Samsung
В гаджетах Samsung используется фирменная прошивка, в которой порядок установки сертификатов немного отличается.
- Откройте «Госуслуги» и зайдите на страницу «Поддержка работы сайтов с российскими сертификатами».
- Перейдите к разделу сертификатов для Android и скачайте корневой.
Невозможно установить сертификаты CA
Этот сертификат от приложения null необходимо установить в меню «Настройки». Устанавливайте сертификаты только от ЦС надежных организаций.




Чтобы проверить, успешно ли установились сертификаты, необходимо вернуться к «Настройкам» смартфона и в поле поиска ввести «Сертификаты безопасности» (либо «Надежные сертификаты» или «Надежные учетные данные») и открыть найденный пункт. В нём в категории «Сертификаты безопасности» во вкладке «Пользователь» должны быть два сертификата: Russian Trusted Root CA и Russian Trusted Sub CA.
Установка на iOS (iPhone и iPad)
- Откройте «Госуслуги» и зайдите в раздел «Поддержка работы сайтов с российскими сертификатами».
- Перейдите к разделу сертификатов для iOS и нажмите на кнопку «Скачать профиль». После этого на экране появится уведомление «Веб-сайт пытается загрузить профиль конфигурации. Разрешить?» — разрешите. Затем должно появиться уведомление о том, что профиль загружен.



Установка на компьютер Windows
- Откройте «Госуслуги» и зайдите в раздел «Поддержка работы сайтов с российскими сертификатами».
- Перейдите к разделу сертификатов для Windows и скачайте первый — корневой.
- Запустите скачанный файл russian_trusted_root_ca.cer, затем нажмите «Открыть», а после — «Установить сертификат».



Установка на macOS (Mac, MacBook)
- Откройте «Госуслуги» и зайдите в раздел «Поддержка работы сайтов с российскими сертификатами».
- Перейдите к разделу сертификатов для macOS и скачайте первый — корневой.
- Запустите скачанный файл RussianTrustedCA.pem. Откроется приложение «Связка ключей», введите имя пользователя и пароль от текущего профиля на компьютере, а затем нажмите на «Изменить связку ключей».
Конфигурация безопасности
Процессом входа в систему и доступом к данным управляют панель запуска SAP Fiori и связанные веб-приложения. Может потребоваться ввести имя и пароль пользователя Fiori или выбрать сертификат пользователя.
Аутентификация и требования к сертификату
SAP Fiori Client поддерживает протоколы HTTP и HTTPS. Приложение поддерживает базовую аутентификацию и взаимную аутентификацию.
Вывод диалогового окна ошибки сертификата означает, что центр сертификации, используемый сервером Fiori, не является доверенным на устройстве. Чтобы исправить это, определите используемый центр сертификации, а затем добавьте его в список доверенных сертификатов устройства, как описано ниже. Кроме того, SAP Fiori Client не работает в средах, в которых для настройки сервера Fiori используется самозаверяющий SSL-сертификат.
Установка сертификата на устройстве iOS
- Откройте браузер рабочего стола Safari и перейдите по URL-адресу Fiori. В открывшемся диалоговом окне щелкните Показать сертификат .