Статус: Участник
Группы: Участники
Зарегистрирован: 08.11.2016(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Доброго дня! Непонятная ситуация. На странице https://www.cryptopro.ru...page/cades_bes_file.html загружаю файл test.pdf, выбираю сертификат, нажимаю "подписать", получаю подпись в base64. Руками сохраняю подпись в файл, потом через PHP делаю base64_decode и полученный результат сохраняю в test.pdf.sig Получается, имею на руках два файла test.pdf и test.pdf.sig Иду в https://dss.cryptopro.ru/Lite/Verify/ (Сервер электронной подписи КриптоПро DSS - Проверка подписи) Загружаю сначала подпись, она правильно определяется как подпись в формате CMS, затем загружаю исходный документ test.pdf Запускаю проверку - получаю "Не удалось проверить подпись CAdES-BES. Ошибка: [Неправильное значение хеша]. Код: [0x80091007].Сообщение содержит неверную подпись." Второй вариант - используя вот пример из первого сообщения темы https://www.cryptopro.ru....aspx?g=posts&t=8800 Все действия аналогичные, за исключением что возвращенная подпись сразу проходит base64_decode и сохраняется в файл test.pdf.sig Но проверка в https://dss.cryptopro.ru/Lite/Verify/ показывает аналогичный результат "Неправильное значение хеша" В чем может быть проблема? Корневые сертификаты установлены.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.11.2016(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
При проверке через csptest - аналогичная ошибка "Неправильное значение хеша."
C:\Program Files\Crypto Pro\RCSP>csptest -sfsign -verify -in c:\sign_pdf\test.pdf -signature c:\sign_pdf\test.pdf.sig -detached An error occurred in running the program. .\signtsf.c:613:No user cert specified. Cryptocontext will be opened automaticaly. Error number 0x0 (0). Операция успешно завершена.
An error occurred in running the program. .\signtsf.c:743:Detached Signature was NOT verified
Error number 0x80091007 (2148077575). Неправильное значение хеша.
Total: SYS: 0,016 sec USR: 0,047 sec UTC: 0,077 sec [ErrorCode: 0x80091007]
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.11.2016(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
При изучении и сравнении посредством ASN.1 JavaScript decoder (http://lapo.it/asn1js/) подписей файла, сделанных через Browser plug-in и "Создание подписи" (https://dss.cryptopro.ru/Lite/Sign/) обнаружил что в действующей подписи содержится больше информации о сертификатах, чем в невалидной подписи. Так, при подписи через Browser plug-in в CMS присутствует информация только по двум сертификатам - непосредственно подписанта и УЦ ЗАО «ПФ «СКБ Контур» (Qualified) (кем был выдан сертификат). В подписи же от dss.cryptopro.ru еще присутствуют сертификаты от "Головной удостоверяющий центр" и "УЦ 1 ИС ГУЦ". Также в подписях различаются содержимое cRLDistributionPoint и AuthorityInfoAccess. Я нашел и добавил сертификаты "Головной удостоверяющий центр" и "УЦ 1 ИС ГУЦ" в доверенные корневые сертификаты, но ситуацию это не изменило.
Но! Если проверять подписи на сайте "контура" (https://crypto.kontur.ru/verify#) то подготовленная через скрипт подпись успешно подтверждается. Отсюда можно сделать вывод, что для проверки подписи, сделанной под "своим" сертификатом, информации достаточно, а для dss.cryptopro.ru - нет. То есть причина, все же в отсутствии полного списка корневых сертификатов в подписи. В связи с этим вопрос - как их все же туда добавлять? В реестр они уже добавлены.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,941   Сказал «Спасибо»: 599 раз Поблагодарили: 2336 раз в 1833 постах
|
Автор: roman76  Здравствуйте. Не совсем так. Получается присоединенная CMS закодированная в base64 |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,941   Сказал «Спасибо»: 599 раз Поблагодарили: 2336 раз в 1833 постах
|
Автор: roman76  При проверке через csptest - аналогичная ошибка "Неправильное значение хеша."
C:\Program Files\Crypto Pro\RCSP>csptest -sfsign -verify -in c:\sign_pdf\test.pdf -signature c:\sign_pdf\test.pdf.sig -detached An error occurred in running the program. .\signtsf.c:613:No user cert specified. Cryptocontext will be opened automaticaly. Error number 0x0 (0). Операция успешно завершена.
An error occurred in running the program. .\signtsf.c:743:Detached Signature was NOT verified
Error number 0x80091007 (2148077575). Неправильное значение хеша.
Total: SYS: 0,016 sec USR: 0,047 sec UTC: 0,077 sec [ErrorCode: 0x80091007]
CMS не detached. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,941   Сказал «Спасибо»: 599 раз Поблагодарили: 2336 раз в 1833 постах
|
Автор: roman76  Иду в https://dss.cryptopro.ru/Lite/Verify/ (Сервер электронной подписи КриптоПро DSS - Проверка подписи) Загружаю сначала подпись, она правильно определяется как подпись в формате CMS, затем загружаю исходный документ test.pdf Запускаю проверку - получаю "Не удалось проверить подпись CAdES-BES. Ошибка: [Неправильное значение хеша]. Код: [0x80091007].Сообщение содержит неверную подпись." Что указали - то и получили. Необходимо проверить: Подпись в формате CMS Параметры > Присоединённая подпись И тогда будет: Результат проверки: Подпись действительна (если сертификат квалифицированный) или другая ошибка (связанная с цепочкой сертификации) |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.11.2016(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Да, действительно, если выбрать в параметрах "Присоединённая подпись", то подпись подтверждается успешно, но при этом нет возможности загрузить для проверки подписываемый файл, и тогда, чисто логически, смысл такой проверки?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,941   Сказал «Спасибо»: 599 раз Поблагодарили: 2336 раз в 1833 постах
|
Автор: roman76  Да, действительно, если выбрать в параметрах "Присоединённая подпись", то подпись подтверждается успешно, но при этом нет возможности загрузить для проверки подписываемый файл, и тогда, чисто логически, смысл такой проверки? Для отсоединенной подписи (хеш данных\значение подписи\сертификат(ы)\CRL(s)\атрибуты) - нужен исходный файл, чтобы расчитать его хеш и сверить с тем, что указан в подписи. Присоединенная подпись - содержит исходный файл и подпись (хеш данных\значение подписи\сертификат(ы)\CRL(s)\атрибуты)=> не нужен исходный документ (он уже внутри закодирован в ASN.1). |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 08.11.2016(UTC) Сообщений: 11
Сказал(а) «Спасибо»: 1 раз
|
Получается, на всех страницах демо-портала мы имеем дело с присоединеной подписью, так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,941   Сказал «Спасибо»: 599 раз Поблагодарили: 2336 раз в 1833 постах
|
Автор: roman76  Получается, на всех страницах демо-портала мы имеем дело с присоединеной подписью, так? Нет. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close