❌

Normal view

CERTIFICATE_VERIFY_FAILED на российском API: как доверять сертификату Минцифры только в одном клиенте Python

Сервер российского API подписан цепочкой Минцифры, и Python падает с CERTIFICATE_VERIFY_FAILED. Показываю, как доверять этому сертификату ровно в одном клиенте: свой SSLContext, промежуточный сертификат как якорь и флаг VERIFY_X509_PARTIAL_CHAIN, без verify=False и без корня в системе. Чем рискуешь с этим флагом, как то же сделать в aiohttp, httpx, requests и urllib, как сверить отпечаток и что делать при смене сертификата.

Читать далее

Старый софт на свежем Linux: свой GCC, свой OpenSSL и честный RPATH

А что если… нужен старый софт, но при этом хост Linux свежий?

Как вариант, можно взять, да хоть на примере питона, нужный официальный образ в докере. Да и пользоваться.

Казалось бы, проблема решена. Но есть нюанс (с). Добро пожаловать под кат.

Читать далее

Протухшие сертификаты, нулевой keystore и потерянная «@»: воскрешаем Huawei SANEX9510 без перезагрузки базы

Система стояла мёртвой десять месяцев, пока платная поддержка искала причину. Я поднял её за три дня. Оказалось, что «просто протухли сертификаты» было семью независимыми поломками: keystore на 0 байт, зашифрованный пароль с потерянной первой «@», приватный ключ, который не понимает родной OpenSSL продукта, и утёкшие соединения к Sybase IQ. Разбираем слой за слоем, без ребута и без сброса паролей.

Читать далее
❌