alexpav@inbox.ru Опубликовано 9 Сентября 2016 Жалоба Поделиться Опубликовано 9 Сентября 2016 Здравствуйте! Реализую подпись файлов программно в своем приложении (приложение, разработанное на языке C#, .NET Framework 4.5). Проблема такая. Формирую подпись файлов в формате PKCS7/CMS (открепленная подпись). На компьютере, на котором установлено ПО VipNET CSP 4.2 при подписании файла с нуля (файл еще не был подписан) все проходит нормально. Если же файл уже был кем то другим подписан, то при добавлении подписи происходит сбой приложения (даже блок перехватки ошибок не помогает, идет сбой на уровне ядра). В отчете об ошибке указывается, что произошел сбой модуля ntdll.dll. На компьютере, на котором установлено ПО КриптоПРО CSP таких ситуаций не возникает. При подписи учитываю, чтобы сертификаты были с одними и теми же алгоритмами подписи (ГОСТЫ). Сертификаты получил в тестовых УЦ как КриптоПРО так и Инфотекс. Подскажите, в чем может быть проблема??? Кстати, если уже подписанный файл подписать с помощью VipNet CryptoFile, то никаких проблем не возникает... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Vintik Опубликовано 9 Сентября 2016 Жалоба Поделиться Опубликовано 9 Сентября 2016 Вы пробовали другие сборки CSP и на других ОС? Думаю вы понимаете, что CSP очень "нежные" к любым обновлениям ОС, потому часто вроде одна и та же версия, но другой билд в "третьем звене" - и уже всё работает. Для примера, совсем недавно требовалось подписание.... было постоянно ошибки.. подпись была на Якарте... установили новый ЕК - крипто после этого совсем потерял все стороние контейнеры и также в ЕК не видно, что там записано (показывал данные карты, но данные нет)... В ИТОГЕ обновили КриптоПро 4 до по последней серт. версии и О ЧУДО - всё стало видеться, и в крипто и в самом ЕК. Т.е. то что вы сейчас даже добьётесь положительного результата, совсем не означает, что на другой ОС где есть некие драйвера ключей и др. обновление - будет работать. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
alexpav@inbox.ru Опубликовано 12 Сентября 2016 Автор Жалоба Поделиться Опубликовано 12 Сентября 2016 Ясно... Спасибо за ответ! Все равно попробую другую версию сборки CSP. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
cav Опубликовано 13 Сентября 2016 Жалоба Поделиться Опубликовано 13 Сентября 2016 Low Message или Simplified? Падает где? CMSG_CTRL_ADD_SIGNER? Давайте перейдем в личку. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
alexpav@inbox.ru Опубликовано 13 Сентября 2016 Автор Жалоба Поделиться Опубликовано 13 Сентября 2016 Здравствуйте! До CryptoAPI я не дошел, использую стандартные классы C# для работы с PKCS7 CMS: SignedCms, CmsSigner, ContentInfo. Подписание осуществляется при помощи SignedCms.ComputeSignature. Если покопать (что я и сделал), то можно увидеть, что этот класс использует Low Message функции CryptoAPI. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
cav Опубликовано 13 Сентября 2016 Жалоба Поделиться Опубликовано 13 Сентября 2016 Тогда вышлите кусок кода (можно на .Net) посмотрим. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
alexpav@inbox.ru Опубликовано 14 Сентября 2016 Автор Жалоба Поделиться Опубликовано 14 Сентября 2016 Здравствуйте! Извините, что долго не отвечал... Реализовал подписание с помощью CryptoAPI (Low Message / Simplified ) и все стало работать! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
cav Опубликовано 15 Сентября 2016 Жалоба Поделиться Опубликовано 15 Сентября 2016 Хорошо, но если вышлите кусок кода, будем благодарны. Посмотрим у нас падает (и действительно есть ошибка при вызове через .Net), или ошибка при вызове. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
alexpav@inbox.ru Опубликовано 15 Сентября 2016 Автор Жалоба Поделиться Опубликовано 15 Сентября 2016 Я сейчас пытаюсь побороть проблему соподписи при использовании сертификатов с разными алгоритмами (например ГОСТ и sha1rsa). Как только справлюсь, поделюсь без проблем! Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
alexpav@inbox.ru Опубликовано 21 Сентября 2016 Автор Жалоба Поделиться Опубликовано 21 Сентября 2016 В 15.09.2016в09:15, cav сказал: Хорошо, но если вышлите кусок кода, будем благодарны. Посмотрим у нас падает (и действительно есть ошибка при вызове через .Net), или ошибка при вызове. Добрый день! Извините, что так долго... Не смог пока я побороть случай подписания файла несколькими сертификатами с разными алгоритмами (случай отсоединенной подписи)... Да и на работе запарка, некогда этим заниматься. Подойдет пока и такой вариант. В общем все работает хорошо, подписывается любым криптопровайдером (КриптоПРО CSP и VipNet CSP), но в случае отсоединенной подписи подписывать можно только сертификатами с одинаковыми алгоритмами. Если нужно посмотреть исходный код, напишите свой адрес электронной почты, я скину проект. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
cav Опубликовано 21 Сентября 2016 Жалоба Поделиться Опубликовано 21 Сентября 2016 Спасибо, пока этого достаточно попытаемся сами проэмулировать. На всякий случай свой адрес скинул в личку. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.