Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

46 Страницы«<678910>»
Опции
К последнему сообщению К первому непрочитанному
Offline Новожилова Елена  
#71 Оставлено : 26 декабря 2011 г. 17:45:42(UTC)
Новожилова Елена

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 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)  | Причина: Не указана

Offline mnosarev  
#72 Оставлено : 19 января 2012 г. 18:14:15(UTC)
mnosarev

Статус: Участник

Группы: Участники
Зарегистрирован: 20.12.2011(UTC)
Сообщений: 17
Откуда: Белгород

Смирнов написал:
В ближайших версиях обучим плагин возвращать информацию о подписях даже при ошибке проверки.


Подскажите пожалуйста, когда примерно выйдет эта версия и документация к ней
Offline mnosarev  
#73 Оставлено : 14 февраля 2012 г. 17:54:02(UTC)
mnosarev

Статус: Участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Андрей Писарев  
#74 Оставлено : 14 февраля 2012 г. 17:56:44(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,323
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2208 раз в 1723 постах
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, и подам их на вход криптоАРМ, пройдёт ли проверка? Спасибо



Цитата:
и подам их на вход криптоАРМ, пройдёт ли проверка


сам делал - получалось Anxious
Техническую поддержку оказываем тут
Наша база знаний
Offline mnosarev  
#75 Оставлено : 14 февраля 2012 г. 17:59:58(UTC)
mnosarev

Статус: Участник

Группы: Участники
Зарегистрирован: 20.12.2011(UTC)
Сообщений: 17
Откуда: Белгород

Цитата:
сам делал - получалось Anxious


А чем перекодировали, если не секрет?
Offline mnosarev  
#76 Оставлено : 14 февраля 2012 г. 18:40:45(UTC)
mnosarev

Статус: Участник

Группы: Участники
Зарегистрирован: 20.12.2011(UTC)
Сообщений: 17
Откуда: Белгород

Всем спасибо, разобрался.
Код:
iconv('windows-1251', 'UCS-2LE', $doc_view);
Offline Hyperc0der  
#77 Оставлено : 16 февраля 2012 г. 19:21:39(UTC)
Hyperc0der

Статус: Участник

Группы: Участники
Зарегистрирован: 16.02.2012(UTC)
Сообщений: 20

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Собственно вопрос, как настроить проверку для простой, а не усовершенствованной подписи?
Проблема решилась просто, поставил тип простой подписи:
Код:
var CADESCOM_CADES_BES = 1

Отредактировано пользователем 17 февраля 2012 г. 18:17:02(UTC)  | Причина: Не указана

Offline Hyperc0der  
#78 Оставлено : 16 февраля 2012 г. 20:09:58(UTC)
Hyperc0der

Статус: Участник

Группы: Участники
Зарегистрирован: 16.02.2012(UTC)
Сообщений: 20

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
1. Небольшой вопрос: можно ли сделать аналогичную проверку на сервере (php) через COM тот же, например?

UPD:

2. У функции VerifyCades описано только три параметра (подписанное сообщение, формат подписи и тип: отделенная/совмещенная)
Спрашивается куда подавать оригинал файла документа для сверки с подписью в случае отделенной подписи?
В случае потверждения подлинности ЭЦП, как можно получить отчет о сертификате, дате подписи и т.д.? Я так понял свойство SignedData.Display не работает для плагина.

Документация суховатая, примеров мало, поэтому возникают такие небольшие вопросы.
Может кому-нибудь удалось сделать нормально проверку бинарных файлов с отделенной подписью?

Отредактировано пользователем 17 февраля 2012 г. 18:55:54(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#79 Оставлено : 20 февраля 2012 г. 18:30:47(UTC)
Новожилова Елена

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 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 …
Offline Hyperc0der  
#80 Оставлено : 20 февраля 2012 г. 18:48:36(UTC)
Hyperc0der

Статус: Участник

Группы: Участники
Зарегистрирован: 16.02.2012(UTC)
Сообщений: 20

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Спасибо, все помогло.

Цитата:
Кодировка, в которой вы передаете оригинал документа, должна быть указана заранее.

Я так понял кодировку оригинала нужно указывать, только для текстовых данных. Для любых бинарных — Base64 работает «на отлично».

А как насчет получения отчета о сертификате, владельце, дате подписи и т.д. в случае подтверждения подлинности ЭЦП? Есть ли альтернатива SignedData.Display?
В документации не нашел еще интересную опцию: можно ли сделать проверку по OID? Либо просто получить список OID сертификата.

Отредактировано пользователем 20 февраля 2012 г. 18:56:47(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (4)
46 Страницы«<678910>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.