Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
Как корректно преобразовать base64-строку в массив байт для проверки отсоединенной ЭЦП в JCP
Статус: Активный участник
Группы: Участники
Зарегистрирован: 20.10.2011(UTC) Сообщений: 45 Откуда: Moscow
Сказал(а) «Спасибо»: 7 раз
|
Добрый день! Механизм формирования данных немного отличается на клиенте и на сервере. Код:
//На клиенте:
var oSignedData = createObject("CAdESCOM.CadesSignedData");
oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = base64Text;
//На сервере:
message = Base64.decode(base64Text);
CAdESSignature cadesSignature = new CAdESSignature(signature, message, null);
Т.е. на клиенте мы кое как готовим строку в Base64, а дальше уже не участвуем в переводе ее в массив байт, а на сервере эту часть мы должны взять на себя и делаем это неправильно. Предполагаю, что причина в том, что строку мы формируем как Base64('текст 1')+Base64('текст 2'), а стандартный вызов Base64.decode() делает не тоже самое, что делается на клиенте. Выяснилось это, получив неравенство: Base64('текст 1')+Base64('текст 2') != Base64('текст 1'+'текст 2') Для примера: Цитата:'текст 1' = "Пояснительная записка" 'текст 2' = "ВЕВ проверка ЭЦП № 2" Base64('текст 1')+Base64('текст 2') = 0J/QvtGP0YHQvdC40YLQtdC70YzQvdCw0Y8g0LfQsNC/0LjRgdC60LA=0JLQldCSINC/0YDQvtCy0LXRgNC60LAg0K3QptCfIOKEliAy Base64('текст 1'+'текст 2') = 0J/QvtGP0YHQvdC40YLQtdC70YzQvdCw0Y8g0LfQsNC/0LjRgdC60LDQktCV0JIg0L/RgNC+0LLQtdGA0LrQsCDQrdCm0J8g4oSWIDI= При этом выяснил, что есть online-декодеры, которые умеют корректно работать с обоими вариантами, а есть которые нет, т.е. вполне может быть что мы пользуемся неправильной реализацией класса Base64 (прилагаю в аттаче класс, который используется). Подскажите, как правильно провести преобразование, чтобы подпись смогла пройти проверку. На клиенте через cadescom проверка проходит корректно.
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
Как корректно преобразовать base64-строку в массив байт для проверки отсоединенной ЭЦП в JCP
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close