Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 394 раз в 366 постах
|
Автор: tarzan_pasha Скажите пожалуйста. А если нам нужно проверить действительность сертификата после того, как подписанный клиентом файл попадает к нам на сервер, то для этого нам что нужно сделать? тогда уже придется ставить на сервер программу? Скорее, наверно, проверять действительность и подписи и сертификата? Да, для проверки подписи ГОСТ нужно как минимум установить криптопровайдер, поддерживающий ГОСТ. Заметьте, что криптопровайдеры у клиента и на сервере могут быть разные, так как сертификат и базовая подпись формируются по одному международному формату и если криптопровайдеры указывают в сертификате и подписи одинаковые оид алгоритмов гост проверка будет доступна даже с другим криптопровайдером. Если Вы воспользуетесь "универсальным" (не зависимым от формата подписываемого файла) методом (через плагин), то подпись может быть отсоединенной (не изменяющей исходный файл), в этом случае будет два загружаемых клиентом файла. Парой файлов не очень удобно управлять в хранилище, но удобно сразу проверять или открывать файл. Если выберите присоединенную подпись, то файл будет один - вокруг данных подписываемого документа будет обертка из подписи, такой файл удобно хранить, но перед проверкой или открытием файла нужно будет "снять подпись", то есть разделить файл на 2 части. Для проверки это можно сделать и в памяти, а вот для открытия придется записывать еще один файл. В случае метода подписи зависимого от формата (аналоги КриптоПро PDF и КриптоПро Office Signature), то подпись будет включена в формат подписываемого документа, то есть снимать ее перед открытием документа не нужно, приложение открывающее файл уже знает как с ней работать и отображать пользователю. Хотя с этим тоже есть проблемы, например, Office 2007 понимает подписи в документах, созданных в версиях и выше и ниже (и 2003 и 2010 версии). Однако Office 2010 "не понимает" подписи 2003 версии - выдает, что они недействительные, хотя на 2002, 2003, 2007 версиях подпись успешно проверяется. Аналогично Office 2003 "не понимает" подписи 2010 версии. В итоге, большинство сайтов ориентируется на "универсальную" отсоединенную подпись и загрузку 2 файлов. Автор: tarzan_pasha И возможно ли проверить действительность сертификата не имея доступ к этому сертификату и к ключу клиента? Да, в подпись может дополнительно включаться: либо только сертификат клиента либо вся цепочка сертификатов либо вся цепочка без корневого сертификата. В любом из 3 случаев по сертификату клиента из подписи будет возможно проверить математическую корректность подписи. Для проверки цепочки корневые сертификаты должны быть установлены на компьютере, где проверяется подпись (на сервере), даже если корневой присутствует в подписи. Если в подпись включен только сертификат клиента, то нужно установить также и промежуточные сертификаты (иногда цепочка построится и без этого, но лучше подстраховаться). В случае подписи ГОСТ и когда клиенты пользуются разными УЦ наиболее удобен вариант, когда на сервере установлен корневой сертификат ГУЦ, на клиенте установлена вся цепочка сертификатов от ГУЦ до сертификата клиента, в подпись включены все сертификаты цепочки кроме корневого ГУЦ.
|