Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Отсоединенная подпись не проходит проверку в eNot(единая нотариальная система) и в Криптопро АРМ
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.10.2014(UTC) Сообщений: 3  Откуда: Москва
|
Добрый день. Столкнулись с проблемой при подписании xml документа сертификатом. Документ предназначен для единой нотариальной системы. Наше приложение разработано на C#, код процедуры подписания и проверки взят из примеров КриптоПро для Net из файла DetachedSignature.cs, разница только в том что в примере передается простая строка, а у нас XML из БД MsSql(поле в котором хранится Xml имеет тип varchar(max)). В результате, при подписании документа Арм'ом проверка в нотариате проходит, если же документ подписан нашим приложением подпись не верна. Подпись сделанная с помощью нашего ПО, успешно проверяется им же, однако АРМ выдает ошибку - "подпись не коректна или к ней нет доверия". Повторюсь все сделано всоответствии с примером КриптоПро находящемся в DetachedSignature.cs. Ради интереса, при конвертации строки в массив байт перед вычислением подписи, пробовали использовать различные кодировки (в примере используется кодировка Unicode), такие как UTF8,ASCII и т.д. Если кто то сталкивался, подскажите в чем может быть проблема.
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 14,113   Сказал «Спасибо»: 615 раз Поблагодарили: 2381 раз в 1873 постах
|
Автор: ldv  Добрый день. Столкнулись с проблемой при подписании xml документа сертификатом. Документ предназначен для единой нотариальной системы. Наше приложение разработано на C#, код процедуры подписания и проверки взят из примеров КриптоПро для Net из файла DetachedSignature.cs, разница только в том что в примере передается простая строка, а у нас XML из БД MsSql(поле в котором хранится Xml имеет тип varchar(max)). В результате, при подписании документа Арм'ом проверка в нотариате проходит, если же документ подписан нашим приложением подпись не верна. Подпись сделанная с помощью нашего ПО, успешно проверяется им же, однако АРМ выдает ошибку - "подпись не коректна или к ней нет доверия". Повторюсь все сделано всоответствии с примером КриптоПро находящемся в DetachedSignature.cs. Ради интереса, при конвертации строки в массив байт перед вычислением подписи, пробовали использовать различные кодировки (в примере используется кодировка Unicode), такие как UTF8,ASCII и т.д. Если кто то сталкивался, подскажите в чем может быть проблема. В кодировке. Ваше приложение может успешно проверить подпись от АРМ-а? Отредактировано пользователем 25 декабря 2014 г. 13:28:20(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.10.2014(UTC) Сообщений: 3  Откуда: Москва
|
Да проходит, если оригинальный документ и подпись грузить функцией System.IO.File.ReadAllBytes(path). Кодировки пробовал различные, это собственно первое что я сделал.
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.10.2014(UTC) Сообщений: 3  Откуда: Москва
|
Проблема решена. Кодировка UTF8, она и использовалась в ходе разработки, но после появления проблемы начали кодировку менять. Проблема заключалась в отсутствии BOM (первые три байта документа в кодировке UTF8).
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро .NET
»
Отсоединенная подпись не проходит проверку в eNot(единая нотариальная система) и в Криптопро АРМ
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close