Трохи про розробку та поряд з нею

Технічний блог

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.

Коли почали використовувати, цей старіший кореневий сертифікат (DST Root CA X3) допоміг злетіти проекту Let’s Encrypt з місця і довіряти практично кожному пристрою одразу. Новіший кореневий сертифікат (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, який продовжує термін дії цього кореня. Цей виняток працює лише для 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, яку ми рекомендуємо за замовчуванням.

Що робити, якщо не працюють крони, які шукають через wget?
додати --no-check-certificate до всіх запитів з використанням wget

Якщо ви використовуєте 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 не підтримується! Використовуйте звичайний текст.