Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 ![Женщина Женщина](/forum2/Themes/soclean/female.gif) Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
mnosarev написал:Добрый день. Вопрос по совмещенной подписи. Есть набор данных, подписанных совмещенной подписью. При изменении исходных данных подпись по-прежнему остается валидной. Для отделенной подписи можно было передать данные в свойство Content перед проверкой, т.е. Код:oSignedData.Content = data;
try
{
oSignedData.VerifyCades(signature, signatureFormat, signatureType);
}
catch //выйти с ошибкой
А как мне поступить в случае совмещенной подписи? Коррентно ли будет проверить после проверки подписи соответствие исходных данных расшифрованным? Код:oSignedData.VerifyCades(signature, signatureFormat, signatureType);
if (data != oSignedData.Content) // выйти с ошибкой
Или есть стандартные средства? (работаю через плагины к браузеру, cryptopro 3.6) При создании совмещенной подписи исходные данные копируются и присоединяются к подписи. То есть, например есть файл data.txt. Вы извлекаете его содержимое, создаете присоединенную подпись и сохраняете, напиример, в файл signature.sig. Файл signature.sig будет содержать данные из файла data.txt + подпись. При этом плагин ничего не знает про существование файла data.txt и никаких ссылок на файл data.txt не добавляет. После создания присоединенной подписи файл data.txt будет просто не нужен, так как в файле с подписью signature.sig будут содержаться и данные и подпись. При проверке присоединенной подписи проверяется соответствие подписи и данных в файле signature.sig. Если изменить данные в этом файле - подпись будет неверна. Отредактировано пользователем 26 декабря 2011 г. 17:48:30(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2011(UTC) Сообщений: 17 Откуда: Белгород
|
Смирнов написал:В ближайших версиях обучим плагин возвращать информацию о подписях даже при ошибке проверки. Подскажите пожалуйста, когда примерно выйдет эта версия и документация к ней
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2011(UTC) Сообщений: 17 Откуда: Белгород
|
Добрый день. Пытаюсь проверять в КриптоАРМ подписи, созданные через плагин. С совмещенной всё в порядке, проверка проходит, а вот с отделенной - никак. Говорит, что "Одна или несколько подписей некорректна или нет доверия.", хотя через КриптоПро всё проверяется, подписи корректны. У Вас в FAQ указано: Цитата:При использовании КриптоПро ЭЦП browser plug-in данные, переданные при создании подписи, будут перекодированы в UCS-2 little endian и именно в таком виде данные будут подписаны. Это сделано для совместимости с теми ЭП, которые были созданы в Internet Explorer с использованием CAPICOM. В КриптоАРМ и в cryptcp никакое перекодирование данных при создании подписи не производится.
(http://www.cryptopro.ru/docs/cpdn/content/cades/plugin-faq.html) Эта информация всё еще актуальна? Попробовал вручную (с помощью notepad++) перекодировать исходные данные в UCS-2 little endian, проверка так же не прошла. Существует ли вообще способ проверить в криптоАРМ отделенную подпись, созданую с помощью плагина КриптоПРО? Спасибо. Отредактировано пользователем 14 февраля 2012 г. 17:59:01(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,092 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал «Спасибо»: 528 раз Поблагодарили: 2157 раз в 1682 постах
|
mnosarev написал:Добрый день. Пытаюсь проверять в КриптоАРМ подписи, созданные через плагин. С совмещенной всё в порядке, проверка проходит, а вот с отделенной - никак. Говорит, что "Одна или несколько подписей некорректна или нет доверия.", хотя через КриптоПро всё проверяется, подписи корректны. У Вас в FAQ указано: Цитата:При использовании КриптоПро ЭЦП browser plug-in данные, переданные при создании подписи, будут перекодированы в UCS-2 little endian и именно в таком виде данные будут подписаны. Это сделано для совместимости с теми ЭП, которые были созданы в Internet Explorer с использованием CAPICOM. В КриптоАРМ и в cryptcp никакое перекодирование данных при создании подписи не производится.
(http://www.cryptopro.ru/docs/cpdn/content/cades/plugin-faq.html) Эта информация всё еще актуальная? И если да, то скажите пожалуйста, если я вручную перекодирую исходные данные в UCS-2 little endian, и подам их на вход криптоАРМ, пройдёт ли проверка? Спасибо Цитата: и подам их на вход криптоАРМ, пройдёт ли проверка сам делал - получалось |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2011(UTC) Сообщений: 17 Откуда: Белгород
|
Цитата:сам делал - получалось А чем перекодировали, если не секрет?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 20.12.2011(UTC) Сообщений: 17 Откуда: Белгород
|
Всем спасибо, разобрался. Код:iconv('windows-1251', 'UCS-2LE', $doc_view);
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.02.2012(UTC) Сообщений: 20
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Собственно вопрос, как настроить проверку для простой, а не усовершенствованной подписи?Проблема решилась просто, поставил тип простой подписи: Код:var CADESCOM_CADES_BES = 1
Отредактировано пользователем 17 февраля 2012 г. 18:17:02(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.02.2012(UTC) Сообщений: 20
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
1. Небольшой вопрос: можно ли сделать аналогичную проверку на сервере (php) через COM тот же, например? UPD: 2. У функции VerifyCades описано только три параметра (подписанное сообщение, формат подписи и тип: отделенная/совмещенная) Спрашивается куда подавать оригинал файла документа для сверки с подписью в случае отделенной подписи? В случае потверждения подлинности ЭЦП, как можно получить отчет о сертификате, дате подписи и т.д.? Я так понял свойство SignedData.Display не работает для плагина. Документация суховатая, примеров мало, поэтому возникают такие небольшие вопросы. Может кому-нибудь удалось сделать нормально проверку бинарных файлов с отделенной подписью? Отредактировано пользователем 17 февраля 2012 г. 18:55:54(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 ![Женщина Женщина](/forum2/Themes/soclean/female.gif) Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
1. Как я понимаю, речь идет о подписи произвольного бинарного файла. В этом случае для совместимости с КриптоАРМ рекомендуем перекодирование файла в BASE64 (только для создания подписи в плагине) и использование параметра CADESCOM_BASE64_TO_BINARY в качестве значения свойства CadesSignedData.ContentEncoding. Данный параметр должен быть указан до того, как будет присвоено или получено значение свойства Content. Для проверки в КриптоАРМ исходный бинарный файл перекодировать не надо. То есть: 1. Сначала перекодируете исходный файл в BASE64. 2. Указываете signedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY. 3. Заполняете signedData.Content = закодированный в BASE64 файл. 4. Подписываете. Получаете подпись, где подписанные данные = содержимое исходного файла. Эта подпись должна проверяться в КриптоАРМ без какого-либо дополнительного перекодирования. 2. При проверке подписи в плагине оригинал документа нужно передавать в свойство Content. Кодировка, в которой вы передаете оригинал документа, должна быть указана заранее. Для бинарных файлов (см. п.1) алгоритм должен быть таким: 1. Указываете signedData.ContentEncoding = CADESCOM_BASE64_TO_BINARY. 2. Заполняете signedData.Content = закодированный в BASE64 исходный файл. 3. Проверяете signedData.Verify …
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 16.02.2012(UTC) Сообщений: 20
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Спасибо, все помогло. Цитата:Кодировка, в которой вы передаете оригинал документа, должна быть указана заранее. Я так понял кодировку оригинала нужно указывать, только для текстовых данных. Для любых бинарных — Base64 работает «на отлично». А как насчет получения отчета о сертификате, владельце, дате подписи и т.д. в случае подтверждения подлинности ЭЦП? Есть ли альтернатива SignedData.Display? В документации не нашел еще интересную опцию: можно ли сделать проверку по OID? Либо просто получить список OID сертификата. Отредактировано пользователем 20 февраля 2012 г. 18:56:47(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close