Статус: Участник
Группы: Участники
Зарегистрирован: 26.12.2011(UTC) Сообщений: 22 Откуда: Москва
|
Доброго всем дня. Есть веб-приложение. На одной из страниц этого приложения, осуществлется проверка подписи к файлу. Файл может быть большой и, чтобы снизить время проверки и нагрузку на сервер, для проверки подписи на сервер отправлется сама подпись и хэш файла. Подпись - ГОСТ отделённая PKCS#7. На клиенте используется плагин для браузеров КриптоПро. На сервере КритоПро.CSP серверная + КриптоПро.NET. Всё было хорошо, но потом появились подписи, в которых отсутствует подписанный атрибут, содержащий хэш подписываемых данных. Попытался достать хэш из подписи, но безуспешно. Остановился на том, что извлёк значение подписи, как это описано тут п.10. 64 байта данных с которыми непонятно что делать. Гугл не помог. Единственное что Я попробовал - это проверить это значение с помощью вызова Gost3410CryptoServiceProvider.VerifyHash(...). Результат отрицательный. Хотя, подозрительно, что этот же провайдер делает подписи по хэшу тоже длиной 64 байта. Вопрос: Как на сервере проверить подпись по хэшу, если в подписи отсутствует подписанный атрибут, соержащий хэш? PS: Провеяемые подписи формируются другими какими-то неподконтрольными организациями, поэтому заставить их добавлять туда этот атрибут - не вариант. Отправлять на сервер файлы тоже не хочется.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Нужно хэшировать файл самостоятельно и получать хэш, иначе никак. В первом случае хэшировать тоже необходимо, чтобы сверить значение хэша. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.12.2011(UTC) Сообщений: 22 Откуда: Москва
|
Вычислить хэш - не проблема. Проблема в том, что не с чем этот хэш сравнивать. Непонятно откуда взять значение хэша, которое использовалось при формировании подписи.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Нужно проверять только подпись. Подпись проверилась => хэш верный. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.12.2011(UTC) Сообщений: 22 Откуда: Москва
|
В общем-то в этом и вопрос. Автор: Ozzy Вопрос: Как на сервере проверить подпись по хэшу, если в подписи отсутствует подписанный атрибут, соержащий хэш?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
Если на CryproApi: - CryptCreateHash, CryptSetHashParam(HP_HASHVAL), CryptImportKey(PublicKey), CryptVerifySignature |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.12.2011(UTC) Сообщений: 22 Откуда: Москва
|
Спасибо за ответ. Я написал в ветку "КриптоПро .NET" в ожидании найти решение для .NET. Есть ли такое? Стандартными средствами .NET или КриптоПро.NET. Может быть CAPICOM или даже CADESCOM тут мне поможет?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,393 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 37 раз Поблагодарили: 717 раз в 621 постах
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close