Введение
Так как помимо всего прочего я занимаюсь еще поддержкой, то мое утро пятницы 1 октября 2021 года началось со звонков, что пользователи не могут зайти на некоторые сайты. Выходит ошибка, хотя еще недавно всё было в порядке. Данная проблема носила массовый характер с которой пришлось разбираться и как-то объяснять людям в чем причина, что же произошло с интернетом.
Данное сообщение уведомляет нас о проблемах с сертификатами безопасности.
Сертификат — это цифровое удостоверение вашего сайта, которое служит подтверждением того, что обмен данными между сайтом и браузером производится по защищённому каналу. Если мы имеем проблемы с сертификатом доступ на сайт может быть заблокирован. Либо выдается предупреждение о ненадежности сайта.
Грубо говоря, сертификат – это пропуск. А у каждого пропуска есть срок его годности. Дата начала и окончания действия. Именно поэтому первым делом, необходимо проверить настройки даты и времени на Вашем ПК, ноутбуке, планшете, телефоне. Очень часто дата стоит неверная. Она даже может быть более ранней, чем дата выдачи данного сертификата. Для установки даты и времени на ноутбуке, нажмите на значок часов в правом, нижнем углу экрана. и настройте корректные дату и время.
ВТОРАЯ ПРИЧИНА ВОЗНИКНОВЕНИЯ ОШИБКИ err_cert_date_invalid
30 сентября 2021 года срок действия корневого сертификата DST Root CA X3 истёк. В результате этого, устройства, которые давно не получали обновлений и не поддерживают новый корневой сертификат ISRG Root X1, перестали доверять старому сертификату. И заблокировали посещение сайтов, использующих сертификаты от Let’s Encrypt. Браузеры выдают предупреждения или вовсе не могут установить защищённое соединение.
Перечислим устройства которые на момент статьи считаются “устаревшими”
К “устаревшим” устройствам относятся системы возрастом старше 5 лет, среди которых:
- Windows XP до SP3 (а также для SP3 и Windows 7, если не производилось автоматическое обновление корневых сертификатов);
- macOS до 10.12.1;
- iOS до 10;
- Android до 2.3.6 (при этом доступ к сервисам еще может быть, из-за особенностей проверки корневых сертификатов, а версии до 7.1.1 перестанут поддерживать сертификат в 2024 году);
- Ubuntu до 16.04;
- Debian до 8;
- Sony PlayStation 3 и 4 с прошивками до 5.00;
- Старые модели смарт-телевизоров и умных домашних устройств;
- Устройства, использующие OpenSSL версии 1.0.x;
КАК ИСПРАВИТЬ ОШИБКУ err_cert_date_invalid
Решить проблему err_cert_date_invalid можно несколькими способами. Лучшим решением будет обновление программного обеспечения до последних версий. В них уже включена поддержка нового корневого сертификата.
Что может сделать обычный пользователь для устранения ошибки err_cert_date_invalid?
- Вручную установить корневой сертификат ISRG Root X1, если он остутствует в хранилище используемой системы или ПО.
- Удалить устаревший корневой сертификата DST Root CA X3. Наличие устаревшего корневого сертификата может мешать нормальной работе с сервисами, использующими сертификаты Let’s Encrypt.
Внимание! Решить проблему данным способом можно не на всех устройствах.
Debian/Ubuntu
- Для проверки наличия корневого сертификата в списке доверенных, выполните в терминале команду:awk -v cmd=’openssl x509 -noout -subject’ ‘ /BEGIN/{close(cmd)};{print | cmd}’ < /etc/ssl/certs/ca-certificates.crt | grep “ISRG Root X1″CopyЕсли в выводе команды будет фигурировать
subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1
, то нет необходимости выполнять какие-либо действия, а если нет, то перейдите к следующему шагу. - Выполните в терминале команду:curl -k https://letsencrypt.org/certs/isrgrootx1.pem.txt | sudo tee /usr/share/ca-certificates/mozilla/ISRG_Root_X1.crt ; sudo echo “mozilla/ISRG_Root_X1.crt” >> /etc/ca-certificates.conf ; sudo update-ca-certificatesCopy
- Проверьте работу сервисов, с которыми возникали проблемы доступа.
CentOS
- Для проверки наличия корневого сертификата в списке доверенных, выполните в терминале команду:awk -v cmd=’openssl x509 -noout -subject’ ‘ /BEGIN/{close(cmd)};{print | cmd}’ < /etc/ssl/certs/ca-bundle.crt | grep “ISRG Root X1″CopyЕсли в выводе команды будет фигурировать
subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1
, то нет необходимости выполнять какие-либо действия, а если нет, то перейдите к следующему шагу. - Выполните в терминале следующие команды:trust dump –filter “pkcs11:id=%c4%a7%b1%a4%7b%2c%71%fa%db%e1%4b%90%75%ff%c4%15%60%85%89%10” | openssl x509 | sudo tee /etc/pki/ca-trust/source/blacklist/DST-Root-CA-X3.pem sudo update-ca-trustCopy
- Проверьте работу сервисов, с которыми возникали проблемы доступа.
OpenSSL 1.0.x
Если в системе используется устаревшая версия OpenSSL, то необходимо удалить из доверенных корневых сертификатов устаревший следующим образом:
- Для Debian/Ubuntu отредактируйте файл
/etc/ca-certificates.conf
установив символ!
в начале строкиmozilla/DST_Root_CA_X3.crt
и выполните команду:update-ca-certificatesCopy
Windows 7
В операционной системе Windows 7 цепочка корневых сертификатов должна была обновиться, если включены обновления операционной системы, в ином случае корневой сертификат необходимо установить самостоятельно, выполнив следующие действия:
- Скачайте корневой сертификат
ISRG Root X1
с сайта Let’s Encrypt с расширением “der
.” - Запустите этот файл, разрешите его открытие и нажмите «Install Certificate».
- Выберите, для кого необходимо установить сертификат, и нажмите «Далее».
- Выберите пункт «Place all certificates in the following store» и нажмите «Browse»:
- Выберите хранилище «Trusted Root Certification Authorities» и нажмите «OK»:
- Нажмите «ОК», и установите сертификат. Может появиться сообщение, что данный сертификат не проверен и запрос установить его или нет? Естественно устанавливаем.
- ОБЯЗАТЕЛЬНО ПЕРЕЗАПУСТИТЕ ВСЕ ОТКРЫТЫЕ БРАУЗЕРЫ! Проверьте работу сайтов и сервисов, выдававших ошибку err_cert_date_invalid.
Что нужно сделать владельцу ресурса.
Решение проблемы со стороны сервера возможно только путём использования других сертификатов.
- Чтобы использовать другой сертификат, необходимо купить его в одном из центров сертификации. При выборе нового сертификата важно учитывать, какие функции он предоставляет и для каких сфер подходит. Для примера ниже приведены некоторые известные центры сертификации:
- Comodo
- GeoTrust
- Symantec (DigiCert)
- Thawte
- Установите полученный Вами сертификат для сайта.
- После установки сертификата дождитесь обновления кэшированной информации, что происходит обычно в течение 15 минут. Либо обновите КЭШ вручную. После, проверьте доступность сайта на проблемном устройстве.
Что случилось?
Как оказалось, у одного из крупных поставщиков сертификатов Let`s Encrypt, 30 сентября в 14.01 по Гринвичу (17.01 мск) 2021 года истек корневой сертификат безопасности «IdentTrust DST Root CA X3».
Let’s Encrypt – некоммерческая организация по выпуску бесплатных цифровых сертификатов для шифрования соединений между устройствами и интернетом. Основная цель сертификатов – это защита данных от перехвата во время передачи данных.
Этот сертификат использовался на миллионах устройств, выпущенных до 2015 года. И теперь при попытке зайти на некоторые сайты браузер стал выдавать ошибку:
В основном с этим столкнулись пользователи старых систем, например, такие как: Windows XP, Windows 7, iOS-устройства (до версии iOS 10), Android (до версии 7.1.1), MAC (до версии 10.12.0), консоли старых поколений (PlayStation, Xbox), Ubuntu (до версии 16.04) и т.д.
Далее мы разберемся, как нам победить эту ошибку, а вы уже сами решите какой из способов вам подходит.
Как можно проверить проблему и что делать бесполезно
Но прежде чем продолжить дальше, я расскажу, что я пробовал сделать. Это будет полезно чтобы убедиться, что у вас проблема именно с сертификатом.
- Попробуйте сменить дату на компьютере, например, на 29.10.21 год. Браузер, скорее всего будет ругаться на некорректную дату, но на сайты пускать начнет.
- Перезагрузка роутера, компьютера.
- Отключение проверки HTTPS.
- Переустановка браузера и очистка SSL кэша.
- Отключение всех антивирусных программ.
Переходим к решению проблемы.
Установка обновлений на Windows 7
Чтобы убрать ошибку на Windows 7, будет достаточно установить всего два обновления системы. В редких случаях может потребоваться третье:
Кроме этих обновлений, вы можете воспользоваться программой «Update_Root_Certificates_v1.6», которая автоматически обновит нужные сертификаты.
Установка сертификата на Windows 7
- Скачать обновленный сертификат «ISRG Root X1»,
- Запустить установку,
- Нажимаем кнопку «Установить сертификат»,
- Расположение хранилища выбрать «Локальный компьютер»,
- Выберите «Поместить все сертификаты в следующее хранилище»,
- Выберите пункт «Доверенные корневые центры сертификации»,
- Заканчиваем установку нажатием кнопки «ОК» и сообщением об успешном импорте.
Далее желательно перезагрузить компьютер и проверить сайты, которые не открывались.
Переходим на новую операционную систему
Самым трудоёмким и оптимальным вариантом в 2021-2022 год будет переход на Windows 10 (11), так как Windows 7 уже давно не поддерживается и считается устаревшей, а многие программы так и так требуют «десятку».
Я же лично считаю, что Windows 10 сильно преобразилась за последние годы и рекомендую к установке. Особенно радует встроенный антивирус, которого более чем хватает при использовании в домашних условиях.
Установка сертификата на мобильных устройствах
Что же касается мобильных устройств, то с ними всё гораздо сложнее, в отличии от ПК. Давайте попробуем разобраться с ними.
iOS
(iPhone и iPad с ОС до 10 версии)
Далее вам нужно будет перейти в настройки установить этот сертификат:
- Заходим в «Настройки»,
- Переходим в «Основные»,
- Смотрим «Профили и управление устройством»,
- Выбираем сертификат «ISRG Root X1»,
- Нажимаем «Установить».
И в конце, нужно включить следующую настройку:
- Заходим опять в «Настройки»,
- Переходим в «Основные»,
- Находим в разделе «Об этом устройстве» — «Настройки доверия сертификатов»
- «Включить полное доверие для корневых сертификатов» включаем доверие для сертификата.
Всё. После этого у вас должно всё заработать, как и было.
Android
(ОС Android до 7.1.1)
С устройствами на Android дела обстоят гораздо лучше. Let’s Encrypt удалось договориться с IdenTrust о выпуске на 3 года кросс-подписи истекшего DST Root CA X3. Новый сертификат будет действовать до 2024 года, поэтому владельцам «зеленого робота» можно пока спать спокойно и дальше пользоваться своей техникой.
Заключение
К сожалению, для большинства старых мобильных устройств это будет не преодолимая проблема. Придется или смириться с не работающим интернетом, или задумать об обновлении вашего устройства.
Сейчас, новые сертификаты действительны до 2035 года и все устройства, при условии, что они получают обновления, будут работать до этого года.