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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline igv  
#1 Оставлено : 30 августа 2013 г. 16:01:29(UTC)
igv

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.08.2013(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 1 раз
Здравствуйте!

Возникла проблема при проверке подписи файла ГОСТ Р 34.10-2001, сформированной в Vipnet CSP через Vipnet Криптофайл. Файл подписи открывается без проблем, но на этапе проверки Signature.verify() всегда возвращает false. Подпись корректно проверяется через Криптоарм в Vipnet CSP и Cryptopro CSP, и через gosuslugi.ru/pgu/eds.

Код для проверки взят из примеров, примерно такой:

Код:
final Asn1BerEncodeBuffer encBufSignedAttr = new Asn1DerEncodeBuffer();
info.signedAttrs.encode(encBufSignedAttr);
data = encBufSignedAttr.getMsgCopy();

Signature signature = Signature.getInstance(JCP.GOST_EL_SIGN_NAME);
signature.initVerify(cert.getPublicKey());
signature.update(data);
boolean result = signature.verify(sign);


Пробовал открыть через CMSVerify из samples.jar - результат тот же. Отсоединённая подпись или присоединённая - тоже не имеет значения. Файлы, подписанные в самом JCP проверяются успешно.

Root CA сертификата импортирован через keytool -import -alias test-rootca -trustcacerts -file "c:\rootcert.crt", также добавлен в controlpane в хранилище сертификатов.

Версии JCP 1.0.52, Jre 1.7.0.21, Vipnet CSP 3.2, Vipnet Cryptofile 4.0.1
Offline Андрей Писарев  
#2 Оставлено : 30 августа 2013 г. 16:07:21(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,719
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2054 раз в 1594 постах
Возможно разработчикам поможет приложенный пример ЭЦП вместе с файлом.

Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
Евгений Афанасьев оставлено 30.08.2013(UTC)
Offline igv  
#3 Оставлено : 30 августа 2013 г. 16:17:38(UTC)
igv

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.08.2013(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 1 раз
Приложил пример подписанного файла.

Может можно как-то узнать более подробную причину несоответствия подписи? Логирование с уровнем FINE включал, но кроме записей ENTRY и RETURN больше ничего при вызове verify() не появилось..
Вложение(я):
test eds.zip (4kb) загружен 6 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Online Евгений Афанасьев  
#4 Оставлено : 30 августа 2013 г. 16:42:51(UTC)
Евгений Афанасьев

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

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

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Добрый день.
Попробуйте скачать jcp 1.0.54, были исправления в asn.1-декодере: добавлена возможность проверки подписи с отключением сортировки подписанных атрибутов (по умолчанию они должны сортироваться). Например, в примере CMSVerify в пакете CMS_samples (samples.jar) следует в функции verifyOnCert проверять подпись также с таким условием:
Код:

...
final Asn1BerEncodeBuffer encBufSignedAttr = new Asn1BerEncodeBuffer();
info.signedAttrs.needSortSignedAttributes = needSortSignedAttributes; // по умолчанию true; если проверка не удалась, то задать false и проверить снова 
info.signedAttrs.encode(encBufSignedAttr);
...

Отредактировано пользователем 2 сентября 2013 г. 10:03:43(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
igv оставлено 02.09.2013(UTC)
Offline igv  
#5 Оставлено : 2 сентября 2013 г. 10:48:57(UTC)
igv

Статус: Новичок

Группы: Участники
Зарегистрирован: 30.08.2013(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 1 раз
Спасибо, после перехода на 1.0.54 проверки работают :) Изначально я пробовал и последнюю версию jcp, но не догадался протестировать новый код CMSVerify...
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.