Как стать автором
Обновить

Комментарии 16

На android вроде можно устанавливать сертификаты. Если именно такие сертификаты, то от куда их можно скачать?

Нужно установить только корневой ISRG Root X1 с сайта Lets Encrypt. Перекресные смысла нет ставить, так как вы поставите их корневой.
выпустил для них новый трехлетний перекрестный знак

Какой же халтурный перевод.

google-translate - все так делают, ни чего удивительного

Как так получается, что у остальных не возникает данная проблема со старыми устройствами? Ведь все сертификаты, в том числе и корневые, рано или поздно истекают
Если есть какая-то лазейка, почему ее не могут использовать все?

Может слишком заумно написано, простыми словами: корневые сертификаты выпускаются на десятилетия, и у остальных уже они были когда начал распостраняться андроид. Поэтому их сертификаты были в андроиде изначально. А корневой Lets Encrypt появился недавно и его в старых андроидах нет.
Дальнейшие всякие переподписывания это и есть решение одной проблемы — корневой Lets Encrypt появился недавно.
Ну у всех когда-то закончатся коневые сертификаты, хайпа будет тоже много. Вроде, уже один заканчивался — тоже волны всякие были…
Про Lets Encrypt я понял, спасибо.

А что будет когда все старые корневые сертификаты истекут, старые устройства будут навсегда отключены от https?
Или их тоже просто переподпишут?

Переподписать можно только чем-то, что ещё живо. Так что да, старые устройства рано или поздно окажутся отключены от https. Если только там нет бага, из-за которого они забудут проверить какую-нибудь дату.

Я бы добавил, что поблема не только в сертификатах. Если в усройство можно установить корневой сертификат, то оно может и дальше работать. Другая проблема, что сами алгоритмы шифрования (да и сама система) устаревает. И новые сервера просто откажут клиенту со старыми алгоритмами в поключении.
Например, для соединения использовался протокол SSL, теперь используется TLS.
Ранье использовали хеши SHA-1, теперь минимум SHA-256.
Как Вы думаете, устройство на Android 2.x сегодня можно использовать для доступа к современным https-сайтам? Да, вопрос с подвохом.
В правильных ОС существуют штатные средства обновления списка «вшитых» корневых сертификатов: новые добавляются, отозванные — удаляются.

Она возникает (например на Windows 7 с отключенным обновлениями), но старых устройств кроме андроида очень мало и поэтому всем плевать

Непонятно, что значит сертификаты подписаны «перекрёстно»?
Друг другу подписали сертификаты. То есть Lets Encrypt подписал какому-то центру сертификации их корневой серификат. И тот центр тоже подписал корневой сертификат Lets Encrypt.
A cross-certificate is a digital certificate issued by one Certificate Authority (CA) that is used to sign the public key for the root certificate of another Certificate Authority. Cross-certificates provide a means to create a chain of trust from a single, trusted, root CA to multiple other CAs.

Используется это не только для решения letsencrypt'овских проблем, но и в других случаях. Например, Microsoft выпустил кросс-сертификаты для всех центров сертификации, которым доверяет подписывать драйверы, а операционная система Windows при проверке подписи доверяет только microsoft'овскому сертификату. Т.е. цепочка доверия, вшитая в драйвер, должна выглядеть примерно так: «MS доверяет Go Daddy Root Certificate выдавать сертификаты, Go Daddy Root Certificate доверяет Go Daddy Intermediate Certificate выдавать сертификаты, Go Daddy Intermediate Certificate доверяет Васе Пупкину подписывать драйверы, Вася Пупкин написал и подписал драйвер».
Тоже стало интересно, решил глянуть.

Судя по тому что написано на их сайте letsencrypt.org/certificates/#cross-signing — у них есть одна пара ключей (приватный+публичный) для их intermediate CA (в данном случае он называется R3) и от этой пары они выпустили 2 сертификата (CSR; полагаю что примерно так это можно сделать), один из которых подписал новый центр сертификации ISRG Root X1 (истекает в 2035), а другой был подписан старым DST Root CA X3 (истекает в Сентябре 2021). Обе цепочки пока что валидны, но сертификаты сами по себе разные (такой и такой), пусть и с одинаковым публичным (а значит и приватным) ключом, т.е. грубо говоря перекрёстная подпись это не про конкретный RSA сертификат, а скорее про пару ключей, которые были использованы для формирования CSR; имхо формулировка с «сертификатами» не очень удачная в целом, т.к. совсем непонятно когда речь про ключи, а когда про конкретные RSA сертификаты которые можно пощупать в der/pem формате.
Что интересно всё на той же странице они рекоммендуют использовать сертификат и цепочку от истекающего в Сентябре DST Root CA X3, полагаю что как раз для совместимости с теми самыми старыми Android девайсами, но мне совершенно непонятно как это всё будет работать на остальных девайсах начиная с Ноября (окей старая java будет вечно доверять этой цепочке, но та же винда и десктопные браузеры я полагаю должны проверять NotAfter у всей цепочки?) — неужели веб серверы должны будут как-то динамически выбирать сертификат (и цепочку) для SSL исходя из «client hello»?
Зарегистрируйтесь на Хабре , чтобы оставить комментарий