-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
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
Проблема при проверке подписи полученного маркера доступа #4
Comments
Привет. Сложно сказать. В VerifyMessage передается alg, если оно не равно RS256, то будет false - можно проверить это значение. Иначе, думаю что проблема в сертификате. А вообще при помощи полученного токена получается получать данные из ЕСИА (без проверки сертификата)? |
Да, в том то и дело, что получается получить данные из ЕСИА без проверки сертификата. Я уже лез и в алгоритмы самой библиотеки, сверял их с документацией. А ЕСИА какой использует сертификат для шифрования маркера доступа? Я использую для проверки токена свой сертификат, который установлен на машине (это тот же, который был отправлен в ЕСИА с заявкой на подключение).
Ошибка падает именно на самой функции проверки |
Для проверки маркера доступа нужно использовать сертификат самой ЕСИА, а не ваш (вашей системы). Сертификат, который вы сформировали и отправили в ЕСИА - это сертификат вашей системы. Вам нужно получить от ЕСИА их сертификаты (тестовый и рабочий), установить их на машину и уже их использовать для проверки. |
Очень странно, т.к. кроме тех сертификатов, которые были отправлены в ЕСИА у меня нет, а люди, которые занимались регистрацией нашей системы в ЕСИА про второй сертификат ничего не говорят. Я думал, что ЕСИА всё шифрует нашим сертификатом. Буду тогда выяснять, спасибо. Как выясню отпишусь сюда. |
Привет! Столкнулся с той же проблемой. Я так понимаю, действительно нужен сертификат от ЕСИА. Но не понимаю, где его получить. Есть новая информация по вопросу? |
@Mats666 Все завелось! Пробовал сертификат и тестовый, и рабочий. В обоих случаях, работает. Благодарю за помощь! (: |
@ingver доброго времени суток. Вот спустя столько времени мне довелось установить этот сертификат и добавить проверку маркера доступа. Но что-то всё равно у меня эта проверка падает с использованием этого сертификата. Можете подсказать в каком формате вы скачали сертификат (DER Encoded Binary X.509 или же Base-64 encoded X.509) и какое расширение использовали у сертификата (.cer или .crt)? Никак не могу разобраться в чём собственно дело. |
Всем здравствуйте! Также столкнулся с проблемой проверки маркера доступа ( работаю с тестовой средой, установил сертификат тестовой среды).
|
Добрый день. Нет, проверку маркера доступа осуществить так и не удалось. И да, я использую библиотеку для доступа к промышленной среде ЕСИА без этой проверки. Официальная документация по взаимодействию с ЕСИА говорит, что это необходимо, но реализовать проверку не получается. Так же общение с поддержкой ничего не прояснило в этой ситуацией. Как это выглядит с точки зрения законодательства РФ и секьюрности получения данных пользователя в таком случае уже другой вопрос. P.S. Имейте в виду, что сейчас промышленная среда ЕСИА работает с ГОСТ сертификатами, а не с самоподписными, как было ранее. |
Доброго времени суток! Реализую авторизацию на ЕСИА с помощью этой библиотеки. Никак не могу понять почему не проходит проверка токена, который был получен следующим образом:
var tokenResponse = await esiaClient.GetOAuthTokenAsync(authCode);
Проверка осуществлялась следующим образом:
esiaClient.VerifyToken(tokenResponse.AccessToken)
Мне ЕСИА отвечает авторизационным кодом (authCode), который я использую для получения токена. Полученный TokenAccess получается невалидным. Можете подсказать в чём может быть проблема и куда мне следует смотреть.
Я полагаю, что с сертификатом должно быть всё нормально, т.к. я получил ответ от системы, а SingProvider у класса EsiaClient вторым экшеном возвращает тот же сертификат, что был установлен на машине. Пробовал дебажить процесс проверки токена и следующая функция возвращает мне false, говоря о том, что токен не валидный:
return csp.VerifyData(message, CryptoConfig.MapNameToOID("SHA256"), signature);
The text was updated successfully, but these errors were encountered: