Перейти к основному содержанию
 

Android 6.0.1 — установка сертификата ISRG Root X1

Android

30 сентября 2021 г окончился срок действия корневого сертификата IdenTrust DST Root CA X3. Вместо него теперь должен использоваться самоподписанный сертификат ISRG Root X1, который добавили в качестве второго корневого сертификата и образовали альтернативную цепочку.

Let's Encrypt — истёк срок действия корневого сертификата IdenTrust DST Root CA X3

Не все версии Android поддерживают новый корневой сертификат ISRG Root X1. Поддержка есть у Android >= 7.1.1. Пишут, что Android от 2.3.6 до 4.4.4 должен работать из-за специального шаманства. В Android 6.0.1 у меня те сайты, сертификаты которых пошли по цепочке до IdenTrust DST Root CA X3, открылись, несмотря на то, что срок действия сертификата истёк. А те сайты, сертификаты которых пошли по цепочке до самоподписанного ISRG Root X1, не открылись, потому что его нет в списке доверенных.

https://letsencrypt.org/docs/certificate-compatibility/#platforms-that-trust-dst-root-ca-x3

Соответственно, все системы, которые не доверяют сертификату ISRG Root X1, будут открывать сайты с сертификатом Let's Encrypt вот так:

ssl

На моём телефоне с Andriod 6.0.1 Marshmallow сертификат ISRG Root X1 отсутствует в списке доверенных, поэтому сайты с сертификатом Let's Encrypt у меня перестали открываться.

ssl

Можно, конечно, каждый раз нажимать на кнопку "Дополнительные", потом на ссылку "Перейти на сайт... (небезопасно)". Тогда сайт откроется.

ssl

Можно купить новый телефон, бугагашечки. Можно установить браузер Mozilla Firefox, у него собственный набор доверенных сертификатов, который постоянно обновляется. Но всё-таки хотелось бы, чтобы всё само открывалось без танцев с бубнами в привычном встроенном браузере. И на привычном старом телефоне.

Просмотр сертификатов на Android 6.0

Посмотрим, какие сейчас используются сертификаты. Нажимаем на значок слева от URL — ⓘ. Открывается окно "Незащищённое подключение".

ssl

Для просмотра сертификатов нажимаем ссылку "Данные сертификата".

ssl

Сертификат выдан Let's Encrypt. Срок действия ещё не вышел. Посмотрим промежуточный сертификат, стрелка вниз.

ssl

Видно только промежуточный сертификат R3, выбираем.

ssl

Этот сертификат выдан DST Root CA X3, срок действия которого, как мы знаем, истёк. Более того, срок сертификата R3 тоже истёк. И на этом браузер останавливается и не доверяет сайту. А всё потому, что проверка пошла по основной цепочке. Альтернативная цепочка не была задействована, потому что сертификат ISRG Root X1 неизвестен Android.

Добавляем ISRG Root X1 в список доверенных сертификатов на Android 6.0

Первым делом нужно установить на телефон PIN-код или графический код. Android 6.0.1 позволяет устанавливать собственные сертификаты только с блокировкой экрана. При отключении PIN-кода или графического кода персональные сертификаты будут удалены (не проверял). В любом случае, при попытке добавить сертификат вас попросят включить блокировку экрана.

Идём в Настройки → Экран блокировки и защита → Тип блокировки экрана. Здесь устанавливаем PIN-код или другой способ блокировки.

ssl

Идём в Настройки → Экран блокировки и защита → Другие параметры безопасности.

ssl

Мотаем вниз и видим нужные нам пункты:

  • Сертификаты безопасности
  • Сертификаты пользователя
  • Установить из памяти
  • Удалить учётные данные

ssl

Нажимаем Сертификаты безопасности, находим протухший сертификат Digital Signature Trust Co. (DST Root CA X3) и отключаем его, чтобы телефон не пытался использовать эту цепочку.

ssl

Скачиваем сертификат ISRG Root X1 и Let’s Encrypt R3 в формате PEM. Я буду ставить оба сертификата.

https://letsencrypt.org/certificates/

ssl

Нажимаем на сертификат и устанавливаем его. Используется для VPN и приложений.

ssl

Второй тоже устанавливаем.

ssl

Список установленных сертификатов можно посмотреть в Настройки → Экран блокировки и защита → Другие параметры безопасности → Сертификаты безопасности → Пользователь.

ssl

Можно посмотреть подробную информацию о каждом сертификате.

Сертификат безопасности ISRG Root X1 действителен до 2035 года, самоподписанный.

ssl

Сертификат безопасности Let’s Encrypt R3 действителен до 2025 года, промежуточный.

ssl

Перезагружаем телефон.

Теперь сайты с сертификатами Let’s Encrypt открываются без проблем на телефоне с Android 6.0.1 Marshmallow.

ssl