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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Роман кислухин  
#1 Оставлено : 18 июня 2011 г. 5:22:45(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
Создал простой текстовый файл, содержащий 4 байта: test
Подписал его с помощью функции CryptSignMessage - получил pbSignedBlob.
Далее делаю проверку подписи - CryptVerifyMessage - все ок, получаю данные и сертификат.
Поменял в pbSignedBlob один байт. Снова делаю проверку подписи - опять все ок, но данные получились уже длиной 6 байт! И перед моими данными test появились еще два байта с кодом 0x04. Как такое может быть?
pbSignedBlob могу предоставить в измененном и неизменном виде.
Насколько я понимаю, функция CryptVerifyMessage должна проверить и соответствие хэша сообщению, и саму подпись. Неужели она работает по-другому?
Offline Максим Коллегин  
#2 Оставлено : 18 июня 2011 г. 6:12:41(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Попробуйте поменять данные внутри сообщения (asn1dump в помощь)
Знания в базе знаний, поддержка в центре поддержки
Offline Роман кислухин  
#3 Оставлено : 18 июня 2011 г. 17:25:26(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
тогда выдает CRYPT_E_HASH_VALUE = 0x80091007

Но она и при изменении разных частей пакета разными ошибками плюет. Но не всегда. Как раз я наткнулся на случай, когда ошибки при проверке нет, но данные некорректны. Такого ведь не должно быть?
Offline Роман кислухин  
#4 Оставлено : 23 июня 2011 г. 0:34:00(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
Что, никто не знает, как с этим бороться? Есть какие-то функции по проверке целостности пакета? И почему все-таки ЭЦП проверяется успешно, а данные битые? Я понимаю, что эта функция реализована в Windows API, но может все-таки есть люди, знающие ответ?
Offline Максим Коллегин  
#5 Оставлено : 23 июня 2011 г. 3:34:55(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Давайте пример. Если испорчен "конверт" - не значит, что данные битые.
Знания в базе знаний, поддержка в центре поддержки
Offline Роман кислухин  
#6 Оставлено : 23 июня 2011 г. 21:02:58(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
Да, испорчен именно конверт. Если данные испорчены - то проверка подписи не проходит.
Но в результате работы функции данные получаются битые.
В приложенных файлах pbSignedBlob исходный, и измененный: http://ifolder.ru/24334397

Здесь упакованные в Base64:

Исходный:
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

Битый:
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

Отредактировано пользователем 30 июня 2011 г. 2:36:02(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#7 Оставлено : 23 июня 2011 г. 21:24:59(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
А с чем собственно боремся?
Знания в базе знаний, поддержка в центре поддержки
Offline Роман кислухин  
#8 Оставлено : 29 июня 2011 г. 23:20:39(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
Как данные получить из такого сообщения? Мне же не из спортивного интереса ЭЦП проверять надо. Мне бы еще и данные потом пользователю предоставить. А данные поломаны.
Offline Роман кислухин  
#9 Оставлено : 29 июня 2011 г. 23:21:37(UTC)
Роман кислухин

Статус: Активный участник

Группы: Участники
Зарегистрирован: 29.03.2011(UTC)
Сообщений: 170
Мужчина
Откуда: Москва

Сказал «Спасибо»: 8 раз
Поблагодарили: 3 раз в 3 постах
Да, и плохо то не то, что они поломаны - еще раз пошлют.
Плохо, что пользователь об этом не узнает.
Offline Максим Коллегин  
#10 Оставлено : 30 июня 2011 г. 2:35:08(UTC)
Максим Коллегин

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

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,457
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Попробовал на Win7 - воспроизвелось.
Очень похоже на ошибку в Windows. Завтра проверим с нашей реализацией PKCS#7.
Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.