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

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

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

выпустил для них новый трехлетний перекрестный знак

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

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»?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий