Статус: Участник
Группы: Участники
Зарегистрирован: 05.03.2019(UTC) Сообщений: 12  Сказал(а) «Спасибо»: 1 раз
|
Цитата:А вот что приходит плагину на подпись и близко не похоже на хэш: длина 2150 символов+1(пробел) /3 (2 шестнадцатиричных символа + пробел) = 717 декодированных байт. Вспоминаем для гост-2001 длина хэша 32 байта, а 717 символов это длина самого стрима от SignedInfo. Начинаем декодировать выходит "<ds:SignedInfo xmlns:"... Похоже, ошибка во вспомогательной функции, которую я скидывал выше: Код:static String buildHash3411Base64(byte[] data) {
byte[] hash = buildHash3411(data);
return hash != null ? Base64.encodeBase64String(data) : "";
}
Берём хэш, если он не null, возвращаем изначальные данные в base64...
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 05.03.2019(UTC) Сообщений: 12  Сказал(а) «Спасибо»: 1 раз
|
Да, после этого исправления подпись заработала, спасибо большое за помощь!
|
|
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 398 раз в 367 постах
|
Автор: Kovalenko Nikita  Код:return hash != null ? Base64.encodeBase64String(data) : "";
Берём хэш, если он не null, возвращаем изначальные данные в base64... Эх, как я этого сразу не заметил. Пожалуйста, рад что советы помогли. Для полноты (если кто-то потом будет брать исходник) правильная строка такая: Код:return hash != null ? Base64.encodeBase64String(hash) : "";
Отредактировано пользователем 2 августа 2019 г. 7:01:29(UTC)
| Причина: Не указана
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close