Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
[cryptcp] Как проверить конкретную отсоединенную подпись по отпечатку?
Статус: Участник
Группы: Участники
Зарегистрирован: 02.03.2022(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 6 раз
|
В инструкции есть такой пример: Цитата:cryptcp -verify -detached -thumbprint 9e1fc7cc197abcbfc3b4bf4211d1123a42d78d0f inputfile.txt Адаптировал к моему файлу: Цитата:cryptcp.x64.exe -verify -detached -errchain -thumbprint "D50E081D79A7FCBE5C620A0FD465A51EA01C7C3D" -fext ".sig" "E:\temp\070552_070552-4-2110-3-МЭЭ-43-3\070552_РЕЕСТР_070552-4-2110-3-МЭЭ-43-3.pdf" Сертификат с этим отпечатком гарантированно присутствует в .sig Однако получаю ошибку: Цитата:[0x2000012d] Сертификаты не найдены. Пробовал через -dn, результат тот же. Сложилось впечатление, что в данном случае КПС используется для поиска в хранилище, а не из самого файла. Попытался сделать так: Цитата:cryptcp.x64.exe -verify -detached -errchain -dn "E=уникальный_имейл_из_сертификата" -f "E:\temp\070552_070552-4-2110-3-МЭЭ-43-3\извлеченный_файл_сертификата.cer" -fext ".sig" "E:\temp\070552_070552-4-2110-3-МЭЭ-43-3\070552_РЕЕСТР_070552-4-2110-3-МЭЭ-43-3.pdf" На выходе получил примерно такое: Цитата:CryptCP 5.0 (c) "КРИПТО-ПРО", 2002-2021. Утилита командной строки для подписи и шифрования файлов.
Будет использован следующий сертификат: Субъект:%данные_сертификата_который_был_найден_корректно% Действителен с 31.12.2021 20:20:14 по 31.12.2022 20:30:14
Цепочки сертификатов проверены. Папка 'E:\temp\070552_070552-4-2110-3-МЭЭ-43-3\': E:\temp\070552_070552-4-2110-3-МЭЭ-43-3\070552_РЕЕСТР_070552-4-2110-3-МЭЭ-43-3.pdf... Проверка подписи... Автор подписи: %данные_того_же_самого_сертификата% Подпись проверена. Автор подписи: %данные_другого_сертификата_из_того_файла% Подпись не будет проверена, так как данный сертификат не удовлетворяет КПС. Автор подписи: %данные_другого_сертификата_из_того_файла% Подпись не будет проверена, так как данный сертификат не удовлетворяет КПС. Ошибка: Подпись не верна. e:\branches\csp_5_0r2k\branches\csp_5_0r2k_0\csp\samples\cpcrypt\dsign.cpp:945: 0x200001F9 [ErrorCode: 0x200001f9] И вроде, судя по тексту, утилита проверила только тот сертификат, который я ей указал. Однако же на выходе ошибка из-за другого сертификата, который не надо было проверять. Возникает вопрос, а как мне проверить выборочно только конкретные сертификат/подпись? По задаче я точно знаю, что в этом файле есть невалидные подписи и их надо пропустить, но пока не удаётся.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.03.2022(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 6 раз
|
Проблема обостряется, т.к. количество таких файлов возрастает всё сильнее. Есть какое-то решение?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Автор: Касболат  Проблема обостряется, т.к. количество таких файлов возрастает всё сильнее. Есть какое-то решение? Добрый вечер! Пришлите пример подписываемого документа и подписи для теста? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.03.2022(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 6 раз
|
Тот файл уже не найду, но приложил другой.  reestr.zip (106kb) загружен 3 раз(а).Подпись (1) с истёкшим сроком имеет отпечаток: Цитата:0152a7d6647bb747b715fe172c48cf1b5e00be42 Подпись (2), которая валидна: Цитата:72f9aa589379ad57b03c5aa6ab9f47e6887e01cf Задач в том, что бы проверить только подпись (2) не получая ошибки из-за подписи (1).
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,727   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Автор: Касболат  Тот файл уже не найду, но приложил другой.  reestr.zip (106kb) загружен 3 раз(а).Подпись (1) с истёкшим сроком имеет отпечаток: Цитата:0152a7d6647bb747b715fe172c48cf1b5e00be42 Подпись (2), которая валидна: Цитата:72f9aa589379ad57b03c5aa6ab9f47e6887e01cf Задач в том, что бы проверить только подпись (2) не получая ошибки из-за подписи (1). все 3 подписи корректны (хеш в подписанных атрибутах один и тот же), то, что сертификат один просрочен - совсем о другом. Вы неправильно изначально описали ситуацию, чтобы пропустить проверку сертификата: добавить -nochain |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,727   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
Цитата:/opt/cprocsp/bin/amd64/cryptcp -verify "/home/andrey/1.pdf" -f "/home/andrey/1.pdf.sig" -nochain -detach -dir "/home/andrey/" -fext sig обратите внимание на параметр -f - сертификаты будут использованы из файла с подписью. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.03.2022(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 6 раз
|
Автор: Андрей *  все 3 подписи корректны (хеш в подписанных атрибутах один и тот же), то, что сертификат один просрочен - совсем о другом.
Вы неправильно изначально описали ситуацию, чтобы пропустить проверку сертификата: добавить -nochain Да, в первом посте я как раз описывал вопрос истёкших сертификатов. Это во вчерашнем уже перепутал понятия. Вероятно я не до конца понимаю ваш совет. Можете чуть подробней? Конкретизирую свой вопрос, на всякий случай: В файле .sig есть несколько подписей. Одна (или несколько) из них имеют сертификат с истёкшим сроком действия. У меня есть список этих сертификатов (точнее у меня есть их КПС). Как мне проверить остальные подписи не затрагивая те, к которым привязаны сертификаты из моего списка КПС? В идеале хотелось бы понимать как проверять с помощью утилиты одну конкретную подпись используя отпечаток сертификата этой подписи. Либо наоборот - проверять все подписи, КРОМЕ конкретной с определённым отпечатком. Сертификаты заранее в хранилище отсутствуют, только в .sig файле. Сейчас, когда я указываю только один конкретный КПС ВАЛИДНОГО сертификата, ошибка выдаётся из-за другого, который не надо проверять. Отредактировано пользователем 18 ноября 2022 г. 9:52:54(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.07.2018(UTC) Сообщений: 467
Сказал(а) «Спасибо»: 43 раз Поблагодарили: 69 раз в 61 постах
|
Я не уверен, но возможно придётся делать какой-то самопис... |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 02.03.2022(UTC) Сообщений: 25
Сказал(а) «Спасибо»: 6 раз
|
Тогда такой вопрос: должна ли утилита возвращать ошибку при проверке с использованием конкретного валидного сертификата, если в файле подписи есть другой невалидный?
Другими словами, либо я не так использую эту фишку, либо она не так работает как я ожидаю.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,727   Сказал «Спасибо»: 574 раз Поблагодарили: 2303 раз в 1804 постах
|
да, пока только вышеуказанный пример, указание же через КПС (DN\отпечаток) - приводит к успешной проверке только 1 подписи и к ошибкам для других подписей... По документации есть параметр -verall проверять все подписи (иначе – только подписи авторов из КПС)
но утилита в цикле проверяет все, хотя указан КПС...
уточните, какая версия CSP и утилиты.
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Другие продукты
»
[cryptcp] Как проверить конкретную отсоединенную подпись по отпечатку?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close