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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ldv  
#1 Оставлено : 25 декабря 2014 г. 13:06:33(UTC)
ldv

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.10.2014(UTC)
Сообщений: 3
Российская Федерация
Откуда: Москва

Добрый день.
Столкнулись с проблемой при подписании xml документа сертификатом. Документ предназначен для единой нотариальной системы.
Наше приложение разработано на C#, код процедуры подписания и проверки взят из примеров КриптоПро для Net из файла DetachedSignature.cs, разница только в том что в примере передается простая строка, а у нас XML из БД MsSql(поле в котором хранится Xml имеет тип varchar(max)).
В результате, при подписании документа Арм'ом проверка в нотариате проходит, если же документ подписан нашим приложением подпись не верна.
Подпись сделанная с помощью нашего ПО, успешно проверяется им же, однако АРМ выдает ошибку - "подпись не коректна или к ней нет доверия".
Повторюсь все сделано всоответствии с примером КриптоПро находящемся в DetachedSignature.cs.
Ради интереса, при конвертации строки в массив байт перед вычислением подписи, пробовали использовать различные
кодировки (в примере используется кодировка Unicode), такие как UTF8,ASCII и т.д.
Если кто то сталкивался, подскажите в чем может быть проблема.
Offline Андрей Писарев  
#2 Оставлено : 25 декабря 2014 г. 13:27:45(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline ldv  
#3 Оставлено : 25 декабря 2014 г. 14:46:12(UTC)
ldv

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.10.2014(UTC)
Сообщений: 3
Российская Федерация
Откуда: Москва

Да проходит, если оригинальный документ и подпись грузить функцией System.IO.File.ReadAllBytes(path).
Кодировки пробовал различные, это собственно первое что я сделал.
Offline ldv  
#4 Оставлено : 25 декабря 2014 г. 17:22:52(UTC)
ldv

Статус: Новичок

Группы: Участники
Зарегистрирован: 24.10.2014(UTC)
Сообщений: 3
Российская Федерация
Откуда: Москва

Проблема решена.
Кодировка UTF8, она и использовалась в ходе разработки, но после появления проблемы начали кодировку менять.
Проблема заключалась в отсутствии BOM (первые три байта документа в кодировке UTF8).
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.