30 сентября в 17:01 по московскому времени истекает время жизни корневого сертификата компании IdenTrust (DST Root CA X3), который использовался для кросс-подписи корневого сертификата удостоверяющего центра Let's Encrypt (ISRG Root X1), контролируемого сообществом и предоставляющий сертификаты безвозмездно всем желающим. Перекрёстная подпись обеспечивала доверие к сертификатам Let's Encrypt на широком спектре устройств, операционных систем и браузеров в период интеграции собственного корневого сертификата Let's Encrypt в хранилища корневых сертификатов.
Изначально планировалось, что после устаревания DST Root CA X3 проект Let's Encrypt перейдёт на формирование подписей с использованием только своего корневого сертификата, но такой шаг привёл бы к потере совместимости с большим числом старых систем, не добавивших в своих хранилища корневой сертификат Let's Encrypt. В частности, примерно 30% находящихся в обиходе Android-устройств не имеют данных о корневом сертификате Let's Encrypt, поддержка которого появилась только начиная с платформы Android 7.1.1, выпущенной в конце 2016 года.
Let's Encrypt не планировал заключать новое соглашение о кросс-подписи, так как это накладывает дополнительную ответственность на участников соглашения, лишает самостоятельности и связывает руки в плане соблюдения всех процедур и правил другого удостоверяющего центра. Но из-за возникновения потенциальных проблем на большом числе Android-устройств план был пересмотрен. С удостоверяющим центром IdenTrust было заключено новое соглашение, в рамках которого создан альтернативный кросс-подписанный промежуточный сертификат Let's Encrypt. Кросс-подпись будет действовать три года и позволит сохранить поддержку устройств Android, начиная с версии 2.3.6.
Тем не менее, новый промежуточный сертификат не охватывает многие другие устаревшие системы. Например, после устаревания сертификата DST Root CA X3 30 сентября сертификаты Let's Encrypt перестанут восприниматься в уже не поддерживаемых прошивках и операционных системах, в которых для обеспечения доверия к сертификатам Let's Encrypt потребуется ручное добавление сертификата ISRG Root X1 в хранилище корневых сертификатов. Проблемы будут проявляться в:
Пользователям старых дистрибутивов, завязанных на OpenSSL 1.0.2, предлагается три обходных варианта решения проблемы:
Изначально планировалось, что после устаревания DST Root CA X3 проект Let's Encrypt перейдёт на формирование подписей с использованием только своего корневого сертификата, но такой шаг привёл бы к потере совместимости с большим числом старых систем, не добавивших в своих хранилища корневой сертификат Let's Encrypt. В частности, примерно 30% находящихся в обиходе Android-устройств не имеют данных о корневом сертификате Let's Encrypt, поддержка которого появилась только начиная с платформы Android 7.1.1, выпущенной в конце 2016 года.
Let's Encrypt не планировал заключать новое соглашение о кросс-подписи, так как это накладывает дополнительную ответственность на участников соглашения, лишает самостоятельности и связывает руки в плане соблюдения всех процедур и правил другого удостоверяющего центра. Но из-за возникновения потенциальных проблем на большом числе Android-устройств план был пересмотрен. С удостоверяющим центром IdenTrust было заключено новое соглашение, в рамках которого создан альтернативный кросс-подписанный промежуточный сертификат Let's Encrypt. Кросс-подпись будет действовать три года и позволит сохранить поддержку устройств Android, начиная с версии 2.3.6.
Тем не менее, новый промежуточный сертификат не охватывает многие другие устаревшие системы. Например, после устаревания сертификата DST Root CA X3 30 сентября сертификаты Let's Encrypt перестанут восприниматься в уже не поддерживаемых прошивках и операционных системах, в которых для обеспечения доверия к сертификатам Let's Encrypt потребуется ручное добавление сертификата ISRG Root X1 в хранилище корневых сертификатов. Проблемы будут проявляться в:
- OpenSSL до ветки 1.0.2 включительно (сопровождение ветки 1.0.2 было прекращено в декабре 2019 года);
- NSS < 3.26;
- Java 8 < 8u141, Java 7 < 7u151;
- Windows < XP SP3;
- macOS < 10.12.1;
- iOS < 10 (iPhone < 5);
- Android < 2.3.6;
- Mozilla Firefox < 50;
- Ubuntu < 16.04;
- Debian < 8.
Пользователям старых дистрибутивов, завязанных на OpenSSL 1.0.2, предлагается три обходных варианта решения проблемы:
- Вручную удалить корневой сертификат IdenTrust DST Root CA X3 и установить обособленный (не кросс-подписанный) корневой сертификат ISRG Root X1.
- При запуске команд openssl verify и s_client указывать опцию "--trusted_first".
- Использовать на сервере сертификат, заверенный обособленным корневым сертификатом SRG Root X1, не имеющим кросс-подписи (Let's Encrypt предоставляет в качестве опции возможность запросить такой сертификат). Указанный способ приведёт к потере совместимости со старыми Android-клиентами.