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

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей_  
#11 Оставлено : 16 апреля 2010 г. 15:46:03(UTC)
Андрей_

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2009(UTC)
Сообщений: 41

Добрый день, Александр!

Огромное спасибо за идею. Но я надеялся, что сборку формата ЭЦП для XML удасться сделать более высокоуровневыми средствами. А так это почти все руками!
Ну ничего, это тоже занятно.
Есть результат - отрицательный. Но пока при проверке подписи InfoPath 2007 выдает статус "ошибка".
Далее при этом недоступна кнопка "Посмотреть подписанную форму". Ну я подумал, что дело в этом и добавил совершенно аналогичный служебный фрагмент. Безрезультатно.

Но все-таки нужно сделать по образу и подобию!
На этом пути возникли подводные камни
1. При создании второго хэша на комментарий InfoPath почему-то использует старый ГОСТ на хэш
DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411", в отличие от Вашего первоисточника
Ну это легко изменить, однако все равно второй xэш упрорно не сходится!! Возможно причина в лишнем пробеле добавляющимся Шарпеем в конце

DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" />
в оригинале
DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>

2.В тег Object со служебной информацией упорно лезет атрибут "xmlns=". В Вашем примере Вы его даже назначаете. Но в InfoPath его нет. И даже С# подчеркивает этот атрибут как подозрительный.
И самое смешное, что его даже убить ничем нельзя. Т.е. формируемый тег Object без него, а сборный результат уже с ним!!!!
(после signatureRootNode.AppendChild(doc.ImportNode( xmlDigitalSignature, true));)

Я очень надеюсь, что проблема во этих двух вопросах.

Прошу Вашего авторитетного содействия

С уважением, Андрей
Вложение(я):
1_info_path.xml (21kb) загружен 26 раз(а).
1_info_path_!.xml (21kb) загружен 21 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Offline Челпанов А.  
#12 Оставлено : 16 апреля 2010 г. 16:12:35(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Цитата:
Но я надеялся, что сборку формата ЭЦП для XML удасться сделать более высокоуровневыми средствами
Средства xmldsig достаточно высокоуровневые, такое количество кода требуется для совместимости с InfoPath. В коде только информация об алгоритмах (подпись, хеш), что подписывается, куда подпись сохраняется. Ни слова про нормализацию и реализацию криптографии...
Цитата:
Есть результат - отрицательный
Пример, который прикреплен естественно проверял - Подпись верна, только отсутствующая картинка не показывается. У меня Microsoft Office InfoPath 2007, русский. У Вас английский? Тогда скорее всего в этом дело...
Цитата:
1. При создании второго хэша на комментарий InfoPath почему-то использует старый ГОСТ на хэш
Старый URN воспринимается всеми CSP, новый не всеми. Поэтому лучше отладится на старых, а потом, если необходимо, перейти на новые.
Цитата:
Возможно причина в лишнем пробеле добавляющимся Шарпеем в конце
Нет. Дело не в этом. В стандарте xmldsig есть процесс нормализации xml; он удалит различия. У меня он то же был.
Цитата:
2.В тег Object со служебной информацией упорно лезет атрибут "xmlns=".
Этот namespace, то же будет удален в процессе нормализации. У меня он то же был.

Отредактировано пользователем 16 апреля 2010 г. 16:13:36(UTC)  | Причина: Не указана

С уважением, Александр.
Offline Челпанов А.  
#13 Оставлено : 16 апреля 2010 г. 16:16:58(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Для проверки документов InfoPath нужен еще шаблон. И желательно в том же месте, что и у меня. Можно проделать все в корне C: ?
С уважением, Александр.
Offline Андрей_  
#14 Оставлено : 16 апреля 2010 г. 16:46:19(UTC)
Андрей_

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2009(UTC)
Сообщений: 41

Вдогонку, может с InfoPath пойти другим путем... Судя по SDK открытие формы InfoPath сопровождается различными событиями. Возможно они переопределяются и дать InfoPath свой верификатор подписи? И так в каждой форме...

С уважением, Андрей
Offline Челпанов А.  
#15 Оставлено : 16 апреля 2010 г. 17:01:52(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Так не пробовал.
Так все-таки какой InfoPath? Русский?
С уважением, Александр.
Offline Андрей_  
#16 Оставлено : 16 апреля 2010 г. 17:04:11(UTC)
Андрей_

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2009(UTC)
Сообщений: 41

Да русский. Т.е. установлен язык русский. И меню на нем родном
Offline Челпанов А.  
#17 Оставлено : 16 апреля 2010 г. 17:14:09(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Выкладываю подписанный документ. Он открывается InfoPath и Подпись ВЕРНА.
Sh1.xsn - форма
Form1.xml - исходный документ
Form1S.xml - подписанный документ.

Отредактировано пользователем 16 апреля 2010 г. 19:59:12(UTC)  | Причина: Не указана

Вложение(я):
Sh1.xsn (5kb) загружен 18 раз(а).
Form1.xml (1kb) загружен 30 раз(а).
Form1S.xml (8kb) загружен 40 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
С уважением, Александр.
Offline Андрей_  
#18 Оставлено : 16 апреля 2010 г. 19:38:44(UTC)
Андрей_

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2009(UTC)
Сообщений: 41

Прошу простить мою назойливость. Но форма открываться не хочет. Приходится делать самому шаблон. Потом выдаются
ошибки типа

Согласно DTD и схеме, содержимое элемента "{http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-04-14T06:06:32}моиПоля" неполно.

Прошу выслать шаблон

С уважением, Андрей
Offline Челпанов А.  
#19 Оставлено : 16 апреля 2010 г. 20:01:10(UTC)
Челпанов А.

Статус: Активный участник

Группы: Участники
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 390
Мужчина
Откуда: КриптоПро

Поблагодарили: 2 раз в 2 постах
Отредактировал предыдущий пост. Создал с 0 шаблон (он у меня уже потерялся) InfoPath, создал документ, подписал C# документ.
С уважением, Александр.
Offline Андрей_  
#20 Оставлено : 16 апреля 2010 г. 20:19:20(UTC)
Андрей_

Статус: Активный участник

Группы: Участники
Зарегистрирован: 07.05.2009(UTC)
Сообщений: 41

У меня уже deja vu... Я это видел уже раз 200. Хотя возможно не хватает Ваших корневых. Сейчас попробую вытащить их и добавить в хранилище

Отредактировано пользователем 16 апреля 2010 г. 20:21:55(UTC)  | Причина: Не указана

Пользователь Андрей_ прикрепил следующие файлы:
1.jpg (227kb) загружен 452 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (5)
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.