Тут ёбнутая тема пошла, чтобы вы могли ходить на нашу апиху, нужно установить сертификаты от Минцифры. ㅤ Я долго это игнорил, пока всё к херам не сломалось.
Ошибка: cURL: SSL certificate problem: self-signed certificate in certificate chain
Да, в голову сразу пришло решение — ёбнуть SSL Ignore. Но это костыль и безопасники в жопу выебут.
Хули, пришлось разбираться. Как оказалось Angie и nginx трогать не надо и всё решается на уровне дистрибутива. У меня убунты старенькие торчат в продах, поэтому затачивал под них. Но смысл не меняется и можешь подкрутить под свои дистрибутивы.
Чтобы 100500 команд не вводить, сделал всё одной командой, запускаешь из консольки и всё сразу работает, без костылей и нападок на твой задний проход со стороны ИБешкников. Даже в скрипт сохранять не нужно.
Установка РФ-сертификатов:
( set -e
cert_tmp="$(mktemp -d)" trap 'rm -rf "$cert_tmp"' EXIT
curl -fsSL \ https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer \ -o "$cert_tmp/root.crt"
curl -fsSL \ https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer \ -o "$cert_tmp/sub.crt"
openssl x509 -in "$cert_tmp/root.crt" -noout -subject | grep -Fq "Russian Trusted Root CA"
openssl x509 -in "$cert_tmp/sub.crt" -noout -subject | grep -Fq "Russian Trusted Sub CA"
root_fingerprint="$( openssl x509 -in "$cert_tmp/root.crt" -noout -fingerprint -sha1 | cut -d= -f2 | tr -d ':' )"
test "$root_fingerprint" = "8FF915CCAB7BC16F8C5C8099D53E0E115B3AEC2F"
openssl verify \ -CAfile "$cert_tmp/root.crt" \ "$cert_tmp/sub.crt"
install -m 0644 "$cert_tmp/root.crt" \ /usr/local/share/ca-certificates/russian_trusted_root_ca.crt
install -m 0644 "$cert_tmp/sub.crt" \ /usr/local/share/ca-certificates/russian_trusted_sub_ca.crt
update-ca-certificates
curl -fsSvo /dev/null https://business.t-bank-app.ru/ )
Ну и всё, если в куче мусора увидел — SSL certificate verify ok, значит всё прошло успешно. Перезапускаешь свои пыхи или чё там у тебя и можно дальше не париться.
Такие дела. Изучай.
🛠 #devops #security #bash — 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog