dhaenoor
@dhaenoor

Как скормить курлу сертификаты сбербанка для приложения, если они проверки openssl не проходят и вообще не читаются?

Есть тестовое приложение (к нему подключена подписка ПлатиQR) зарегистрированное на developer.sberbank.ru
Для него имеются:
  • client_id: 5c869433-a26d-476b-90a7-ba5c245181b6
  • client_secret: nQ3pD0dG6qM4dS3wH0qE5bU1eI2nJ1jF3uV1pK5cI0vP2uT1iB
  • Пароль сертификата: p7u8V0f27hEhwNCOBeJd
  • Сертификат: https://disk.yandex.ru/d/g_P1dESf5quZ7w

Как из этого говна и палок собрать работающий запрос в cURL на получение, хотя бы, токена авторизации?
Вот это говно не работает:


Сертификат распаковывается с помощью инструкций сбера, только вот потом все три сертификата при проверке говорят идти туда, куда я идти не хочу. Сертификат этот, ни он сам, ни полученные из него файлы, не работают в cURL, показывают ошибки из разряда "Вы суёте нам не PEM-сертификат".
Инструкции по разборке от сбера:
  • openssl pkcs12 -in <имя вашего файла>.p12 -nodes -nocerts -out private.key
  • openssl pkcs12 -in <имя вашего файла>.p12 -clcerts -nokeys -out client_cert.crt
  • openssl pkcs12 -in <имя вашего файла>.p12 -cacerts -nokeys -chain -out cacerts.cer

Пример проверки сертификата от сбера:
  • openssl pkcs12 -in cacerts.cer -out log.txt

Ссылка на инструкции по TLS от сбера: https://developer.sberbank.ru/doc/v1/sberbank-id/cert

Есть хоть один человек на свете, который смог из этого хоть что-то слепить??? Памагити!
  • Вопрос задан
  • 24 просмотра
Решения вопроса 1
dhaenoor
@dhaenoor Автор вопроса
Помогло не выгружать их в отдельные файлы. Ох уж этот сбер...
Вместо строгания кучи файлов надо было сделать вот так:
openssl pkcs12 -in PFXCertReceivedFromSber.p12 -out TheSameButInThePEM.pem -nodes
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@galaxy
Openssl при конвертации из pkcs12 зачем-то лепит в PEM файл еще и Bag attributes (определенные свойства контейнера pkcs12 в текстовом виде).
Ключ можно привести в нормальный вид так:
openssl rsa -in private.key -out private2.key
Сертификат:
openssl.exe x509 -in cert.cer -out certs.cer

Разве что последняя команда для цепочки сертификатов не подойдет, т.к. на выходе только первый будет. Просто откройте cacerts.cer в текстовом редакторе и оставьте только непосредственно серты:
-----BEGIN CERTIFICATE-----
MII....
-----END CERTIFICATE-----
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы