cryptopro icon indicating copy to clipboard operation
cryptopro copied to clipboard

Подпись HTTP запроса к госуслугам

Open noirwave opened this issue 6 years ago • 3 comments

Необходимо подписывать запросы к госуслугам сертификатом для авторизации через госуслуги. В примерах нашли как подписывать файлы. Подскажите, пожалуйста - как подписать запрос?

noirwave avatar Sep 11 '19 09:09 noirwave

Узнали о существовании криптопрошного curl /opt/cprocsp/bin/amd64/curl Но он ошибку возвращает curl: (58) Problem with the local SSL certificate

если делать запрос на http - ошибки нет, если на https - ошибка, даже с параметром --insecure

noirwave avatar Sep 12 '19 11:09 noirwave

Проблема решается добавлением корневых сертификатов. Я не использовал curl для этих целей, но думаю, что это не сложно. Можете подробнее описать проблему, чтобы я ее воспроизвел и поправил?

dbfun avatar Sep 13 '19 06:09 dbfun

Мы добавили корневой сертификат, лицензию и сертификат с ключами, что скинул клиент (с паролем). Командами

cat /tmp/test.test | /scripts/sign 1acb2eb5afbfa29aecd9bf89c03bc54c2161041a RegNiro417
/opt/cprocsp/bin/amd64/cryptcp -sign -thumbprint 1acb2eb5afbfa29aecd9bf89c03bc54c2161041a /tmp/test.test

файлы подписываются без ошибок.

Но как подписать http запрос просто нет идей. пробовали использовать curl с разными параметрами, например

/opt/cprocsp/bin/amd64/curl -v https://esia-portal1.test.gosuslugi.ru/rs/orgs?pageIndex=0&pageSize=15 --cert 1acb2eb5afbfa29aecd9bf89c03bc54c2161041a 

но все запросы возвращают ошибку

curl: (58) Problem with the local SSL certificate

По поводу криптопрошного curl техподдержка криптопро ответила: "Его нужно использовать при взаимодействии с серверами, шифрующими TLS по ГОСТ" Но... я не сильно понимаю что это значит =) Я ожидаю что api госуслуг умеют шифровать по ГОСТ.

noirwave avatar Sep 13 '19 07:09 noirwave