Немного о разработке и рядом с ней

Технический блог

30.09.2021 истек срок действия сертификата IdenTrust DST Root CA X3.

30.09.2021 истек срок действия сертификата IdenTrust DST Root CA X3.

30 сентября 2021 года произошло небольшое изменение в том, как старые браузеры и устройства доверяют сертификатам Let's Encrypt. Если вы управляете типичным сайтом, вы не заметите разницы - подавляющее большинство ваших посетителей все равно примут ваш сертификат Let's Encrypt. Если вы предоставляете API или должны поддерживать устройства IoT, вам, возможно, придется уделить этому изменению немного больше внимания.

Let's Encrypt имеет «корневой сертификат» под названием ISRG Root X1. Современные браузеры и устройства доверяют сертификату Let's Encrypt, установленному на вашем веб-сайте, потому что они включают ISRG Root X1 в свой список корневых сертификатов. Чтобы убедиться, что выдаваемые Let's Encrypt сертификаты являются надежными на старых устройствах, есть «перекрестная подпись» из более старого корневого сертификата: DST Root CA X3.

Let's Encrypt в начале, использовал более старый корневой сертификат (DST Root CA X3) он помог начать работу и сразу же получить доверие почти ко всем устройствам. Новому корневому сертификату (ISRG Root X1) теперь тоже широко доверяют, но некоторые старые устройства никогда не будут доверять ему, потому что они не получают обновлений программного обеспечения (например, iPhone 4 или HTC Dream). Щелкните здесь, чтобы просмотреть список платформ, доверяющих ISRG Root X1 .

DST Root CA X3 истекает 30 сентября 2021 года. Это означает, что старые устройства, не доверяющие ISRG Root X1, начнут получать предупреждения о сертификатах при посещении сайтов, использующих сертификаты Let's Encrypt. Есть одно важное исключение: более старые устройства Android, которые не доверяют ISRG Root X1, будут продолжать работать с Let's Encrypt благодаря специальному перекрестному знаку от DST Root CA X3, который действует после истечения срока действия этого root. Это исключение работает только для Android.

Что вы должны сделать? Для большинства людей вообще ничего! Let's Encrypt настроили выдачу сертификатов, поэтому ваш веб-сайт в большинстве случаев будет работать правильно, поддерживая широкую совместимость. Если вы предоставляете API или должны поддерживать устройства IoT, вам необходимо убедиться в двух вещах: (1) все клиенты вашего API должны доверять ISRG Root X1 (а не только DST Root CA X3) и (2) если клиенты вашего API используют OpenSSL, они должны использовать версию 1.1.0 или новее . В OpenSSL 1.0.x причуда при проверке сертификата означает, что даже клиенты, которые доверяют ISRG Root X1, потерпят неудачу при представлении цепочки сертификатов, совместимых с Android, которую мы рекомендуем по умолчанию.

Что же делать, Let's Encrypt же наверное решит эту проблему?
Да скорее всего решит, но пока не решил, уходите под сертификаты от cloudflare или покупайте платные ssl сертификаты. 

Что делать если не работают кроны, которые вызываются через wget?
- добавить везде --no-check-certificate

Если у Вас стоит ISP Manager, можно как-то это решить?
Да можно в консоли сервера выполнить:
 

Для Centos

yum update ca-certificates

Для Ubuntu

sudo dpkg-reconfigure ca-certificates

И перевыпустить сертификаты на доменах

Если используется запросы через Curl, как запустить их?

отключить проверку сертификата

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);


Если на сайте идет работа с XML, как отключить проверку?

Добавить параметры, для игнорирования в simplexml_load_file

$context = stream_context_create(array('ssl'=>array(
    'verify_peer' => false, 
    "verify_peer_name"=>false
    )));

libxml_set_streams_context($context);

$sxml = simplexml_load_file($webhostedXMLfile);


Комментарии
Написать отзыв
Внимание: HTML не поддерживается! Используйте обычный текст.
Captcha