Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Проблема с верификацией Токена от Госуслуг
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.08.2024(UTC) Сообщений: 1  Откуда: Saint-Petersburg
|
Формируем запрос Цитата: String scope = "http://esia.gosuslugi.ru/ext_imp"; String timestamp = DateUtil.format(now(), "yyyy.MM.dd HH:mm:ss Z"); String state = UUID.randomUUID().toString();
byte[] signedData = signer.sign(scope + timestamp + clientId + state);
String params = "client_id=" + clientId + "&" + "client_secret=" + urlSafeBase64.encode(signedData) + "&" + "scope=" + urlEncodePath(scope) + "&" + "response_type=token&" + "grant_type=client_credentials&" + "state=" + urlEncodePath(state) + "&" + "redirect_uri=" + urlEncodePath("https://i.xxxx.ru/") + "&" + "timestamp=" + urlEncodePath(timestamp) + "&" + "token_type=Bearer";
HttpTextResponse response = (HttpTextResponse) httpClient.post(url, params, Map.of("Content-Type", "application/x-www-form-urlencoded")); получаем AccessToken Цитата: AccessToken token = gson.fromJson(response.content(null), AccessToken.class); проверяем токен сертификатом Цитата: DecodedJWT jwt = JWT.decode(token); byte[] headerBytes = jwt.getHeader().getBytes(UTF_8); byte[] payloadBytes = jwt.getPayload().getBytes(UTF_8); byte[] signatureBytes = Base64.decodeBase64(jwt.getSignature());
Signature s = Signature.getInstance(algorithm, "BC"); s.initVerify(publicKey); s.update(headerBytes); s.update(JWT_PART_SEPARATOR); s.update(payloadBytes); return s.verify(signatureBytes);// return false
Раньше все работало, выпускали сертификат на физ лицо, сейчас выпускается сертификат на юрлицо. Код работает уже 4-5лет. Отредактировано пользователем 20 августа 2024 г. 13:11:56(UTC)
| Причина: Не указана
|
|
|
|
Форум КриптоПро
»
Общие вопросы
»
Общие вопросы
»
Проблема с верификацией Токена от Госуслуг
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close