Задать вопрос
@Tyusha

Сбербанк говорит: сертификат прикреплён некорректно. Почему?

Пытаюсь подключиться к API Сбербанка. Делаю голый CURL запрос (без хедера, без полезной нагрузки пока) Приходит ответ: Problem with the local SSL certificate.

$ch = curl_init( 'https://mc.api.sberbank.ru/prod/tokens/v3/oauth' );

curl_setopt( $ch, CURLOPT_SSLCERT, 'https://interotkos.ru/admin/SSL/certificate_fbb85415-7416-4a5d-aa54-93321dc2306d.p12' );
curl_setopt( $ch, CURLOPT_SSLCERTPASSWD, 'XnHJtBKuez3Q' );

curl_setopt( $ch, CURLOPT_CAINFO, 'https://interotkos.ru/admin/SSL/russian-trusted-cacert.pem' );

curl_setopt($ch, CURLOPT_CERTINFO, 1);
curl_setopt($ch, CURLOPT_VERBOSE, true);

$response = curl_exec( $ch );
echo "<pre>";
print_r( curl_getinfo( $ch ) );
print_r( curl_strerror( curl_errno( $ch ) );
print_r( $response );

curl_close( $ch );


Сертификаты там ок. По указанным URL в коде их можно проверить.

Поддержка Сбера говорит, что "сертификат прикреплён некорректно". Большего от них конечно же не добиться. Права доступа к файлам установлены "777".

В чём может быть дело? А то у меня уже руки опускаются. Я не программистка, но иногда возникают необходимость кое-что сделать.

Данный скрипт работает здесь: https://interotkos.ru/admin/sber.php

Для уточнения: хостинг виртуальный, доступа к командной строке нет.
  • Вопрос задан
  • 328 просмотров
Подписаться 1 Средний 3 комментария
Пригласить эксперта
Ответы на вопрос 2
Knar1
@Knar1
Инженер по тестированию
Некорректно прикреплен сертификат к запросу либо сертификат вовсе не прикреплен. Необходимо проверить, правильно ли прикреплен клиентский сертификат к запросу. Для успешного вызова API необходимо использование клиентского сертификата в запросе, выпущенного для приложения на Портале разработчика.
Ответ написан
@dronmaxman
VoIP Administrator
curl_setopt( $ch, CURLOPT_SSLCERT, 'https://interotkos.ru/admin/SSL/certificate_fbb854...' );

Following store locations are supported: CurrentUser, LocalMachine, CurrentService, Services, CurrentUserGroupPolicy, LocalMachineGroupPolicy, LocalMachineEnterprise.

certificate_fbb85415-7416-4a5d-aa54-93321dc2306d.p12

Schannel also support P12 certificate file, with the string P12 specified with CURLOPT_SSLCERTTYPE.

https://curl.se/libcurl/c/CURLOPT_SSLCERT.html
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы