Всем привет.
Пытаюсь сформировать запрос на код авторизации.
Может быть кто-то сможет подсказать, что я делаю не так.
Заказчик с помощью КриптоПро CSP выгрузил мне файл сертификата ЭП в фомате .pfx.
Я закинул его в убунту и загрузил командой
certmgr -install -store uMy -file "<file_name>.pfx" -pfx -silent -keep_exportable -pin <password>
Строку, которую нужно подписать (`$params['scope'].$params['timestamp'].$params['client_id'].$params['state']`) записал в файл /tmp/message и подписал файл вот такой командой
cryptcp -signf -der -dir /tmp -strict -cert --hashAlg 1.2.643.7.1.1.2.2 -detached -thumbprint <thumbprint> /tmp/message';
В итоге получил файл tmp/message.sgn
Читаю этот файл и кодирую в base64 url safe
$signature = file_get_contents("tmp/message.sgn");
$encoded = base64_encode($signature);
$encoded = str_replace(array('+','/','='),array('-','_',''),$encoded);
$encoded = str_replace(PHP_EOL, "", $encoded);
Полученную строку подставляю в качестве get параметра client_secret в запрос.
В итоге получаю ошибку
ESIA-007005 "Система-клиент не имеет права запрашивать получение маркера доступа таким методом"
Текст ошибки намекает нам, что нужно как-то запросить больше прав, однако на нескольких форумах я видел сообщения, что удавалось победить эту ошибку подправив механизм формирования подписи