Статус: Участник
Группы: Участники
Зарегистрирован: 01.04.2015(UTC) Сообщений: 14  Откуда: Екатеринбург Сказал(а) «Спасибо»: 1 раз
|
Добрый день Имеется стороннее приложение написанное на Delphi7. Приложение использует в работе модули CryptoAPI по следующему алгоритму: 1. Создает текстовый файл sig.tmp 2. Подписывает файл сертификатом пользователя с помощью функции, которая возвращает некоторый текст (файл+подпись)
CryptoAPI.CertSign(StrToAlg('GOST2001'), 'MY', fname, CertFindCfg('', CertSN, 0, X500Empty, X500Empty), False, True, False, False, False, s, true)
3. Далее полученный текст сохраняется в файл sig.sig
Проверка средствами самой программы проходит нормально, но при проверке средствами CAPICOM либо CSPTEST всегда выдает сообщение "встречено неверное значение тега asn1"
Пrи этом если файл sig.tmp подписать средствами CAPICOM, то файл sig.sig будет отличаться от файла из п.3
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
А в чем вопрос? В CryptoAPI от MS нет функции CertSign (и вообще нет функций подписи файла). Очевидно, что функция CertSign использует какой-то свой формат записи данных. |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 01.04.2015(UTC) Сообщений: 14  Откуда: Екатеринбург Сказал(а) «Спасибо»: 1 раз
|
В том то и дело. Просмотрев исходники кода обнаружил, что для данной программы брались "самописные" модули и похоже на этапе запаковки подписанного объема данных в файл происходила не просто запись последовательности байт. а запись по определенным правилам. Видимо поэтому и получается ошибка
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Компания Крипто-Про не имеет никакого отношения к этим модулям. |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: finex  В том то и дело. Просмотрев исходники кода обнаружил, что для данной программы брались "самописные" модули и похоже на этапе запаковки подписанного объема данных в файл происходила не просто запись последовательности байт. а запись по определенным правилам. Видимо поэтому и получается ошибка Ценная информация. Помощь нужна или строки, где неправильно используются функции, уже известны? |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 01.04.2015(UTC) Сообщений: 14  Откуда: Екатеринбург Сказал(а) «Спасибо»: 1 раз
|
Модули были GConsts, GWinCryp, GWinCPro, GGlbUtil, GVariant, GDifUtil (в секции uses). Это на случай если кому то интересно. Тему можно считать закрытой, т.к. по факту подписанный таким образом файл не является достоверным с точки зрения любой другой системы
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: finex  Модули были GConsts, GWinCryp, GWinCPro, GGlbUtil, GVariant, GDifUtil (в секции uses). Это на случай если кому то интересно. Тему можно считать закрытой, т.к. по факту подписанный таким образом файл не является достоверным с точки зрения любой другой системы
Может там CMS дополнительно кодируется?... Даже не прикрепив примера итогового файла, сделал вывод. Быстро сдался при наличии исходников-то... |
|
|
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 01.04.2015(UTC) Сообщений: 14  Откуда: Екатеринбург Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *  Быстро сдался при наличии исходников-то...
Исходники на делфе + куча сторонних компонентов помимо перечисленных выше. Да алгоритмы и знание среды разработки есть, но переносить его в другую платформу - напрасная трата рабочих ресурсов (за которые никто не заплатит), т.к. необходимость в подписании этим алгоритмом есть в ситеме А, в системе Б алгоритмы подписания стандартные CAPICOM и иже с ним. А вот эта штука необходима для вывода пользоавтелю системы Б информации о том, что данный набор реквизитов был подписан пользователем Ивановым в системе А. При этом система А будет выведена из обращения через несколько месяцев
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.03.2012(UTC) Сообщений: 177
Сказал(а) «Спасибо»: 57 раз Поблагодарили: 11 раз в 8 постах
|
Автор: finex  Автор: Андрей *  Быстро сдался при наличии исходников-то...
Исходники на делфе + куча сторонних компонентов помимо перечисленных выше. Да алгоритмы и знание среды разработки есть, но переносить его в другую платформу - напрасная трата рабочих ресурсов (за которые никто не заплатит), т.к. необходимость в подписании этим алгоритмом есть в ситеме А, в системе Б алгоритмы подписания стандартные CAPICOM и иже с ним. А вот эта штука необходима для вывода пользоавтелю системы Б информации о том, что данный набор реквизитов был подписан пользователем Ивановым в системе А. При этом система А будет выведена из обращения через несколько месяцев Не хочется вас расстраивать, но CAPICOM мертв и уже давно.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,190   Сказал «Спасибо»: 621 раз Поблагодарили: 2397 раз в 1886 постах
|
Автор: MCR  Автор: finex  Автор: Андрей *  Быстро сдался при наличии исходников-то...
Исходники на делфе + куча сторонних компонентов помимо перечисленных выше. Да алгоритмы и знание среды разработки есть, но переносить его в другую платформу - напрасная трата рабочих ресурсов (за которые никто не заплатит), т.к. необходимость в подписании этим алгоритмом есть в ситеме А, в системе Б алгоритмы подписания стандартные CAPICOM и иже с ним. А вот эта штука необходима для вывода пользоавтелю системы Б информации о том, что данный набор реквизитов был подписан пользователем Ивановым в системе А. При этом система А будет выведена из обращения через несколько месяцев Не хочется вас расстраивать, но CAPICOM мертв и уже давно. Но это не мешает "для быстрого старта" использовать и по сей день, ставить на Windows 8.1\Windows 10 ... требовать для работы с сайтом IE и так далее... P.S. Некоторые версии ОС тоже "уже не поддерживаются MS, но используются и по сей день".
Совсем не так давно переводил крупный завод с Windows 3.1 на актуальную ОС + новый софт для железа, а так - работало стабильно много лет.
|
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close