Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline EVoynov  
#1 Оставлено : 8 июля 2014 г. 19:53:42(UTC)
EVoynov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

Сказал(а) «Спасибо»: 7 раз
Имеем клиентский код (cryptopro browser-plugin + csp 3.6):

oSignedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
oSignedData.Content = "bnVsbGRhdGU=0J/Rg9GB0YLQvtC5INC/0YDQsNCy0L7QstC+0Lkg0LDQutGC0YLQtdGB0YIg0YTQtdC50LrQvtCy0L7QuSDRjdGG0L8gLSDQvdC1INGC0YDQvtCz0LDRgtGM0KHQvtCz0LvQsNGB0L7QstCw0L3Qvg==dl8znull";

Проверка подписи проводится на сервере средствами JCP 1.54:
cadesSignature = new CAdESSignature(signature, message, null);
cadesSignature.verify(null);

Проблема в том, что то, что мы подаем в message в JCP отлично от того, что на клиенте преобразовывается в благодаря CADESCOM_BASE64_TO_BINARY,
в итоге получаем ошибку:
org.bouncycastle.cms.CMSSignerDigestMismatchException: message-digest attribute value does not match calculated value

Подскажите, пожалуйста, какой точный аналог CADESCOM_BASE64_TO_BINARY использовать в Java?
Offline Евгений Афанасьев  
#2 Оставлено : 9 июля 2014 г. 9:33:00(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
А что делает CADESCOM_BASE64_TO_BINARY? Если преобразовывает Content из BASE64 в BINARY перед подписью, то и message должен быть binary при подаче в CAdESSignature(signature, message, null).
Offline EVoynov  
#3 Оставлено : 9 июля 2014 г. 12:28:38(UTC)
EVoynov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

Сказал(а) «Спасибо»: 7 раз
Автор: afev Перейти к цитате
А что делает CADESCOM_BASE64_TO_BINARY? Если преобразовывает Content из BASE64 в BINARY перед подписью, то и message должен быть binary при подаче в CAdESSignature(signature, message, null).


Прошу ответить прямо на мой вопрос: какой точный аналог CADESCOM_BASE64_TO_BINARY использовать в Java?

Если аналога точного подсказать не можете, то хотя бы объясните подробно, как происходит это преобразование в CSP.

Уточняю: одна и та же подпись при проверке через CSP оказывается верна, а через JCP - нет (ошибку привел в первом посте).

Пробовал сгенерить Base64 строку с помощью ресурса http://base64.ru, и подписать ее на клиенте, а затем проверить с помощью JCP декодировав в байты - подпись была проверена успешно.

Класс, который используем для преобразования строки в Base64-строку прилагаю во вложении.

Отредактировано пользователем 9 июля 2014 г. 12:38:18(UTC)  | Причина: добавил уточнение

Вложение(я):
Base64.txt (23kb) загружен 3 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Евгений Афанасьев  
#4 Оставлено : 9 июля 2014 г. 12:38:38(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Аналога такого нет - то, что подается, то и подписывается (в sign()) (или проверяется), преобразований нет. По поводу CADESCOM_BASE64_TO_BINARY - вопрос нужно задать в другой ветке.
Offline EVoynov  
#5 Оставлено : 9 июля 2014 г. 12:41:40(UTC)
EVoynov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

Сказал(а) «Спасибо»: 7 раз
Автор: afev Перейти к цитате
По поводу CADESCOM_BASE64_TO_BINARY - вопрос нужно задать в другой ветке.


В какой ветке корректно будет задать этот вопрос, чтобы на него ответили?

Offline Евгений Афанасьев  
#6 Оставлено : 9 июля 2014 г. 12:42:55(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Offline EVoynov  
#7 Оставлено : 9 июля 2014 г. 12:51:49(UTC)
EVoynov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 20.10.2011(UTC)
Сообщений: 45
Откуда: Moscow

Сказал(а) «Спасибо»: 7 раз
Спасибо, написал: http://www.cryptopro.ru/...ts&m=50057#post50057
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.