Статус: Новичок
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,451 Сказал «Спасибо»: 553 раз Поблагодарили: 2235 раз в 1743 постах
|
Возможно разработчикам поможет приложенный пример ЭЦП вместе с файлом.
|
|
1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 30.08.2013(UTC) Сообщений: 3
Сказал(а) «Спасибо»: 1 раз
|
Приложил пример подписанного файла. Может можно как-то узнать более подробную причину несоответствия подписи? Логирование с уровнем FINE включал, но кроме записей ENTRY и RETURN больше ничего при вызове verify() не появилось.. Вложение(я): test eds.zip (4kb) загружен 6 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 712 раз в 673 постах
|
Добрый день. Попробуйте скачать 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)
| Причина: Не указана |
|
1 пользователь поблагодарил Евгений Афанасьев за этот пост.
|
igv оставлено 02.09.2013(UTC)
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 30.08.2013(UTC) Сообщений: 3
Сказал(а) «Спасибо»: 1 раз
|
Спасибо, после перехода на 1.0.54 проверки работают :) Изначально я пробовал и последнюю версию jcp, но не догадался протестировать новый код CMSVerify...
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close