Статус: Участник
Группы: Участники
Зарегистрирован: 11.02.2020(UTC) Сообщений: 11 
|
Всем добра. Пытаюсь подписать открепленной подписью заказ км в СУЗ, выдает такую ошибку. Signature validation failed: message-digest attribute value does not match calculated value Subject: Цитата:| InStream=new ActiveXObject(""ADODB.Stream""); | InStream.Type=1; // binary data | InStream.Mode=3; // read/write | InStream.Open(); | InStream.LoadFromFile(FileName); | InData=InStream.Read(-1); | | Signer=new ActiveXObject(""CAdESCOM.CPSigner""); | Signer.Certificate=Cert; | Signer.TSAAddress = ""http://www.cryptopro.ru/tsp/tsp.srf""; | | SignedData=new ActiveXObject(""CAdESCOM.CadesSignedData""); // | SignedData.ContentEncoding =1; | Signer.Options=2; | SignedData.Content=InData; | | OutSignedData=SignedData.SignCades(Signer,1,1); | | OutStream=new ActiveXObject(""ADODB.Stream""); | OutStream.CharSet=""utf-8""; | OutStream.Type=2; // text data | OutStream.Mode=3; // read/write | OutStream.Open(); | OutStream.WriteText(OutSignedData); | OutStream.SaveToFile(OutFileName,2); | OutStream.Close(); Подписание выглядит именно так. Работаю из 1с 7. Как поправить результат? Спасибо
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.02.2020(UTC) Сообщений: 11 
|
Кто нибудь может помочь мне?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,280   Откуда: Калининград Сказал «Спасибо»: 39 раз Поблагодарили: 579 раз в 556 постах
|
Здравствуйте. Для оперативной поддержки по разработке, создайте заявку на портале ТП - https://support.cryptopro.ru/ , и укажите ваш сертификат на техническую поддержку "КриптоПро SDK". |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.02.2020(UTC) Сообщений: 11 
|
Автор: Захар Тихонов  Здравствуйте.
укажите ваш сертификат на техническую поддержку "КриптоПро SDK". Можно подробнее. Что за сертификат?
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602  Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Скорее всего дело вот в чем. Цитата: InData=InStream.Read(-1); Дает в переменную данные типа comsafearray который совсем не то же самое, что строка или массив байт по представлению в памяти. А смысл именно в получении в памяти идеальной копии файла и передаче копии из памяти в SignedData.Content. Цитата: SignedData.Content=InData; До этой строки нужно перекодировать в обычный массив или подпись будет верна для safearray, но не будет верна для исходного файла. Пример есть в одной из соседних тем, но так сразу найти не могу.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Автор: two_oceans  Скорее всего дело вот в чем. Цитата: InData=InStream.Read(-1); Дает в переменную данные типа comsafearray который совсем не то же самое, что строка или массив байт по представлению в памяти. А смысл именно в получении в памяти идеальной копии файла и передаче копии из памяти в SignedData.Content. Цитата: SignedData.Content=InData; До этой строки нужно перекодировать в обычный массив или подпись будет верна для safearray, но не будет верна для исходного файла. Пример есть в одной из соседних тем, но так сразу найти не могу. т.к. используется CadesSignedData - то самое простое - выставить кодировку: .ContentEncoding = CADESCOM_BASE64_TO_BINARY; и передать файл как base64 строку. Особенности работы с данными в КриптоПро ЭЦП |
|
 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.02.2020(UTC) Сообщений: 11 
|
Автор: Андрей *  Автор: two_oceans  Скорее всего дело вот в чем. Цитата: InData=InStream.Read(-1); Дает в переменную данные типа comsafearray который совсем не то же самое, что строка или массив байт по представлению в памяти. А смысл именно в получении в памяти идеальной копии файла и передаче копии из памяти в SignedData.Content. Цитата: SignedData.Content=InData; До этой строки нужно перекодировать в обычный массив или подпись будет верна для safearray, но не будет верна для исходного файла. Пример есть в одной из соседних тем, но так сразу найти не могу. т.к. используется CadesSignedData - то самое простое - выставить кодировку: .ContentEncoding = CADESCOM_BASE64_TO_BINARY; и передать файл как base64 строку. Особенности работы с данными в КриптоПро ЭЦП Выставил кодировку. Выводит следующую ошибку . Не важно, указываю я значение 1 или CADESCOM_BASE64_TO_BINARY выходит эта же самая ошибка. Цитата:Произошла ошибка при подписи файла! Описание ошибки: CAdESCOM.CadesSignedData.1: Параметр задан неверно. Стрим.LoadFromFile(Путь); {C:\USERS\MASTERIT\DESKTOP\1C\КОНФИГУРАЦИИ\V7\ГИСМТ_1С77\EXTFORMS\ОБМЕНMARK\ПОДПИСАНИЕСЕРТИФИКАТОМMY.ERT(417)}: ADODB.Stream: Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом. Отредактировано пользователем 26 марта 2020 г. 15:13:41(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Вызов SignCades(...) соответствует документации по параметрам? |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.02.2020(UTC) Сообщений: 11 
|
Автор: Андрей *  Вызов SignCades(...) соответствует документации по параметрам? Я все перепробовал уже. Я правильно понимаю, что данные для подписи нужно передать в виде преобразованной строки в base64?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close