Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
ЕСИА версия 2.90, код авторизации
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.07.2022(UTC) Сообщений: 6 
|
1. Сформировали строку вида: Цитата:TEST-SZRfullname mobile email birthdate citizenship id_doc birthplace addresses2023.09.04 21:07:21 +02005921c136-9083-c30b-e36a-af453bb651f8 https://www.site.net/personal 2. Подписали во внешнем скрипте: Цитата: echo off set arg1=%1 csptest -keys -cont "\\.\Aladdin Token JC 0\56f0f720-d0c8-4c0e-b9a2-74f007fdb4a8" -password xxxxxx -sign GOST12_256 -in k:/sign/%arg1% -out k:/sign/%arg1%.sig -keytype exchange
3. Полученный файл *.sig прочитали и перевернули функцией: Цитата: func reverse(d []byte) []byte { for i, j := 0, len(d)-1; i < j; i, j = i+1, j-1 { d[i], d[j] = d[j], d[i] } return d }
4. Полученный результат после переворота перевели в base64.URLEncoding Цитата: clientSecret := base64.URLEncoding.EncodeToString(dat)
5. Сформировали запрос на получение ссылки. Получили и перешли по ссылке - результат: Цитата:/?error_description=ESIA-007053%3A+OAuthErrorEnum.clientSecretWrong&state=A Отредактировано пользователем 4 сентября 2023 г. 22:18:02(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.07.2022(UTC) Сообщений: 6 
|
Все получилось. Кусок функции прилагаю. Цитата:
func (a *Controllers) GetClientSecret (c echo.Context) error {
rErr := &models.DefaultResponse{}
reqState := util.GetUUID() reqTime := util.GetData() reqScopes := strings.ReplaceAll(a.Config.ESIA_SCOPES, ",", " ")
message := fmt.Sprintf("%s%s%s%s%s", a.Config.ESIA_CLIENT_ID, reqScopes, reqTime, reqState, a.Config.ESIA_REDIRECT_URI, )
err := os.WriteFile("k:/sign/"+reqState, []byte(message), 0644) if err != nil { rErr.Error = err return c.JSON(http.StatusForbidden, &rErr) }
cmd := exec.Command("k:/sign/sign.cmd", reqState, ">", "k:/sign/sign_log.txt")
a.Logger.Infof("k:/sign/sign.cmd %s", reqState) err = cmd.Run()
if err != nil { rErr.Error = err return c.JSON(http.StatusForbidden, &rErr) }
dat, err := os.ReadFile("k:/sign/" + reqState + ".sig")
if err != nil { rErr.Error = err return c.JSON(http.StatusForbidden, &rErr) }
clientSecret := base64.URLEncoding.EncodeToString(reverse(dat))
return c.JSON(http.StatusOK, &clientSecret ) }
k:/sign/sign.cmd Цитата: echo off set arg1=%1
csptest -keys -cont "\\.\Aladdin Token JC 0\XXXXXX-d0c8-4c0e-XXX-74f007fdb4a8" -password XXXXX-sign GOST12_256 -in k:/sign/%arg1% -out k:/sign/%arg1%.sig -keytype exchange
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 19.09.2023(UTC) Сообщений: 8
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 2 раз в 2 постах
|
Автор: Андрей *  Автор: saaremaa  Коллеги, поделитесь решением. Как подписать через КриптоПро строку client_secret для получения авторизационного кода через https://esia-portal1.tes...lugi.ru/aas/oauth2/v2/ac ??? По возможности примерами к командной строке. Если есть кусок кода на Golang - это просто будет чудесно. Все что выше перепробовали - получаем ошибку ESIA-007053. При этом самописное решение работает, но использовать его нельзя в боевой системе. а этот ответ с примером команды уже проверили? Проверял этот способ. У меня он не заработал. Описал все шаги в отдельной теме. https://www.cryptopro.ru...aspx?g=posts&t=22416
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.02.2024(UTC) Сообщений: 2  Откуда: Москва Поблагодарили: 2 раз в 1 постах
|
Пожалуйста, посмотрите мое сообщение в другой ветке: https://www.cryptopro.ru...&m=145597#post145597У меня получилось организовать работу со второй версией (v2/ac) на Java с использованием Крипто Про JCP. Надеюсь, моя помощь будет полезной для всех, кто попадает на этот форум в поисках ответа.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.02.2024(UTC) Сообщений: 7  Откуда: Пермский край Сказал(а) «Спасибо»: 1 раз
|
Добрый день!
Подскажите, а есть ли рабочие примеры со второй версией (v2/ac) для python?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 06.10.2016(UTC) Сообщений: 3  Откуда: Уфа Сказал(а) «Спасибо»: 1 раз
|
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
ЕСИА версия 2.90, код авторизации
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close