Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
ЕСИА версия 2.90, код авторизации
foke |
|
Статус: Новичок Группы: Участники
|
Здравствуйте. Изменилось описание формирования параметра client_secret. До версии 2.90: Цитата: <client_secret> – подпись запроса в формате PKCS#7 detached signature в кодировке UTF- Версия 2.90: Цитата: <client_secret> — подпись значений пяти параметров в кодировке UTF-8: В версии <2.90 с «подпись запроса в формате PKCS#7 detached signature» разобрались, работает. В версии 2.90 неясно, что такое «подписать полученную строку с использованием алгоритма подписания data hash с использованием механизмов КриптоПРО CSP»? Использование прежнего java-кода формирования подписи параметра client_secret (с учётом прочих обновлений параметров, описанных в инструкции) приводит к ошибке «ESIA-007005: The client is not authorized to request an access token using this method.», что по моему опыту соответствует некорректно сформированному client_secret. На данный момент сгенерированный url получения кода авторизации выглядит следующим образом: Цитата: https://esia-portal1.test.gosuslugi.ru/aas/oauth2/v2/ac Отредактировано пользователем 31 мая 2022 г. 22:15:29(UTC) |
|
|
saaremaa |
|
Статус: Новичок Группы: Участники
|
У вас получилось что-нибудь с получением кода авторизации? Тоже зависли на этом моменте и не знаем куда двигаться. Поддержка Минцифры только пересылает отрывки из методички. Дополнение от 07.07.2022: Цитата: К Вашему запросу SCR#2946679 добавлен комментарий: Добрый день! По Вашему обращению сообщаем, что при формировании client_secret необходимо использовать следующие алгоритмы шифрования: Кто добавил: СКУФ Служебный/ПУБЛИЧНОЕ АКЦИОНЕРНОЕ ОБЩЕСТВО «РОСТЕЛЕКОМ» после формирования подписи с помощью GOST3411_2012_256withGOST3410_2012_256 получили корректный client_secret Библиотеки на языке Golang: https://github.com/Theo730/gogost Отредактировано пользователем 7 июля 2022 г. 13:01:22(UTC) |
|
|
two_oceans |
|
Статус: Эксперт Группы: Участники Сказал(а) «Спасибо»: 110 раз |
Автор: saaremaa По Вашему обращению сообщаем, что при формировании client_secret необходимо использовать следующие алгоритмы шифрования: Добрый день. Сначала конечно замечание, что не шифрования, а подписания, так как в сообщениях выше процитированы места, где ясно говорится «подпись», «подписать». Что же до указанной ссылки на библиотеку Го, похоже на несертифицированное решение с самостоятельной реализацией криптографических примитивов. Для тестов с тестовыми ключами конечно никто Вам ничего особо не скажет. Используя же несертифицированное решение с гитхаба в продакшене с «боевыми» ключами, Вы принимаете на себя риски возможных штрафов за неправильное обращение со СКЗИ и ключевой информацией. Будьте бдительны, не все работающие решения можно использовать по закону. |
|
|
forumname |
|
Статус: Новичок Группы: Участники
|
Автор: foke подписать полученную строку с использованием алгоритма подписания data hash с использованием механизмов КриптоПРО CSP Я правильно понимаю, что сначала вычисляем hash с помощью алгоритма GOST3411_2012_256, а потом подписываем вычисленное значение алгоритмом GOST3410_2012_256? Или нужно как-то иначе использовать механизмы КриптоПро CSP? |
|
|
navrocky |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 2 раз |
Вот рабочий код на Java для формирования client_secret с использованием крипто-провайдера BouncyCastle: Код:
Отредактировано пользователем 19 октября 2022 г. 13:53:54(UTC) |
|
|
1 пользователь поблагодарил navrocky за этот пост. |
JsutUser
оставлено 11.11.2022(UTC) |
EugeneNSK |
|
Статус: Участник Группы: Участники Сказал(а) «Спасибо»: 2 раз |
Автор: navrocky Вот рабочий код на Java для формирования client_secret с использованием крипто-провайдера BouncyCastle: Код:
Тоже столкнулся с проблемой формирования client_secret при получении кода доступа (через v2/ac). Для JCP/JCSP использую: Код:
|
|
|
dzibzeev |
|
Статус: Новичок Группы: Участники
|
Коллеги! А у кого-нибудь получилось с использованием cryptcp -signf подписать секрет клиента для второй версии API(v2/ac) ЕСИА? Вот так мы сейчас создаем подпись для ЕСИА(код на go): command := exec.Command(s.cmd, «-signf», С первой версией все прекрасно работает, с v2 не хочет работать. ЕСИА возвращает ошибку ESIA-007053: OAuthErrorEnum.clientSecretWrong |
|
|
Пользователи, просматривающие эту тему |
Guest |
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
ЕСИА версия 2.90, код авторизации
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Актуальную версию документа см. на сайте Министерства цифрового развития, связи и массовых коммуникаций Российской Федерации по адресу https://digital.gov.ru/ru/documents/6186/.
N |
Код параметра |
Описание параметра |
1. |
invalid_request |
ESIA-007003: В запросе отсутствует обязательный параметр, запрос включает в себя неверное значение параметра или включает параметр несколько раз |
2. |
access_denied |
ESIA-007004: Владелец ресурса или сервис авторизации отклонил запрос |
3. |
unauthorized_client |
ESIA-007005: Система-клиент не имеет права запрашивать получение маркера доступа таким методом |
4. |
invalid_scope |
ESIA-007006: Запрошенная область доступа (scope) указана неверно, неизвестно или сформирована некорректно |
5. |
server_error |
ESIA-007007: Возникла неожиданная ошибка в работе сервиса авторизации, которая привела к невозможности выполнить запрос |
6. |
temporarily_unavailable |
ESIA-007008: Сервис авторизации в настоящее время не может выполнить запрос из-за большой нагрузки или технических работ на сервере |
7. |
unsupported_response_type |
ESIA-007009: Сервис авторизации не поддерживает получение маркера доступа этим методом |
8. |
invalid_client |
ESIA-008010: Не удалось произвести аутентификацию системы-клиента |
9. |
invalid_grant |
ESIA-007011: Авторизационный код или маркер обновления недействителен, просрочен, отозван или не соответствует адресу ресурса, указанному в запросе на авторизацию, или был выдан другой системе-клиенту |
10. |
unsupported_grant_type |
ESIA-007012: Тип авторизационного кода не поддерживается сервисом авторизации |
11. |
invalid_scope |
ESIA-007013: Запрос не содержит указания на область доступа (scope) |
12. |
invalid_request |
ESIA-007014: Запрос не содержит обязательного параметра [] |
13. |
invalid_request |
ESIA-007015: Неверное время запроса |
14. |
no_grants |
ESIA-007019: Отсутствует разрешение на доступ |
15. |
invalid_request |
ESIA-007023: Указанный в запросе <redirect_uri> отсутствует среди разрешенных для информационной системы |
В конструкторе в разделе «Вход через ЕСИА» включить интеграцию и указать необходимые параметры
- Тип среды ЕСИА. Для обоих сред необходима регистрация информационной системы в Минкомсвязи
- Мнемоника (идентификатор) информационной системы. Должна соответствовать указанной в заявлении на подключение к ЕСИА
- Области доступа (scope). Должны соответствовать указанным в заявлении. Для правильной работы нужно указать как минимум fullname
- Сертификат и ключ. Необходимо загрузить файл PKCS#12 (.p12 или .pfx) с сертификатом, который был указан в заявлении на подключение к ЕСИА, и соответствующим ключом
- Пароль от файла PKCS#12
В общих настройках виртуального портала включить вход через ЕСИА.
Добавить в белые списки на APB следующие домены:
esia-portal1.test.gosuslugi.ru
— для тестовой средыesia.gosuslugi.ru
— для промышленной средыesia.gslb.gosuslugi.ru
Белые списки настраиваются в файле /etc/eltex-apb/hosts.json
.
[{ "permitted-ip-list": [ "esia-portal1.test.gosuslugi.ru", "esia.gosuslugi.ru", "esia.gslb.gosuslugi.ru", "gosuslugi.ru" ] }]
Обеспечить точкам доступа возможность резолвить доменные имена. Для этого
- Настроить DNS сервер, к которому возможен доступ из сети управления точек доступа
- Настроить на DHCP выдачу точкам доступа адреса DNS сервера
Точка доступа должна верно резолвить указанные домены, но доступ к ним (в Интернет) не обязателен.
Обеспечить доступ с сервера портальной авторизации на сервера ЕСИА
Настройки на техпортале ЕСИА
В целях обеспечения дополнительной проверки подлинности запроса с 01 декабря 2020 года необходимо указывать параметр redirect_uri (ссылка, по которой должен быть направлен пользователь после аутентификации) в запросах от информационной системы в точном соответствии со ссылкой в поле «URL системы» блока основных данных на Технологическом портале ЕСИА.В случае несоответствия адреса в параметре redirect_uri и адреса, указанного на технологическом портале ЕСИА, в ответ на запрос будет возвращаеться ошибка «ESIA-007023» с текстом «Redirection URL not allowed for system». С подробной информацией о добавлении URL системы можно ознакомиться в п.3.1.1 «Добавление записи ИС» Руководства пользователя технологического портала ЕСИА (https://digital.gov.ru/ru/documents/).
На техпортале ЕСИА внесите URL http://<внутренний ip-адрес сервера>:8080/eltex_portal/esia-auth и http://redirect.loc:8888/eltex_portal/esia-auth,
которые указаны в качестве редиректа в запросах к сервису ЕСИА.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
- Pick a username
- Email Address
- Password
By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.
Already on GitHub?
Sign in
to your account