Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.05.2009(UTC) Сообщений: 41
|
К сожалению корневой сертификат Вашего сертификата test-ca у меня отсутствует. На общем тестовом сайте выложен другой корневой- Test Center CRYPTO-PRO. И к Вашему сертификату у меня "формируется недоверие". Нужен корневой...По-моему, чтобы не было аналогичной проблемы нужно класть в xml всю цепочку сертификатов Отредактировано пользователем 16 апреля 2010 г. 20:59:47(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.05.2009(UTC) Сообщений: 41
|
Добрый день! Проверка InfoPath дает положительный результат только при первой подписи в С#. Потом можно сверху подписывать в InfoPath сколько угодно душе. К сожалению мне нужен смешанный вариант. Т.е. сначала Infopath, а потом C#. И я раньше делал по-другому. Я брал Вашу Form1 подписывал в infoPath (т.е. первая подпись в InfoPath) потом пытался подписать сверху программой на C#. И результат в InfoPath был отрицательный, т.е. первая подпись автоматически становилась недействительной! Хотя вторая подпись приходит она туда куда нужно - в правильное место...И верифицируется! Хотелось бы понять почему это так...Отличие похоже единственное - разные алгоритмы рачета DigestMethod У Вас DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411" В InfoPath DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" Смена алгоритмов в двух местах ничего не дает . Значение хэша даже не меняется. В преобразованиях ну все идентично....... С уважением, Андрей Отредактировано пользователем 19 апреля 2010 г. 16:55:06(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Цитата:У Вас DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411"
В InfoPath DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"
Смена алгоритмов в двух местах ничего не дает . Значение хэша даже не меняется. В преобразованиях ну все идентично....... Надо менять в трех :) 1. Код:reference2.DigestMethod = CPSignedXml.XmlDsigGost3411UrlObsolete;
2. Код:reference.DigestMethod = CPSignedXml.XmlDsigGost3411UrlObsolete;
3. Код:signedXml.SignedInfo.SignatureMethod = CPSignedXml.XmlDsigGost3410UrlObsolete;
Цитата:К сожалению корневой сертификат Вашего сертификата test-ca у меня отсутствует. Приложил и корневой и CRL. Цитата:По-моему, чтобы не было аналогичной проблемы нужно класть в xml всю цепочку сертификатов Всю цепочку, не включая корневой. Цитата:Я брал Вашу Form1 подписывал в infoPath (т.е. первая подпись в InfoPath) потом пытался подписать сверху программой на C#. Проверьте какая настройка на форме. Одна подпись, несколько независимых или подпись на подпись? Вложение(я): test-ca.cer (1kb) загружен 16 раз(а). certcrl.crl (1kb) загружен 14 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться. |
С уважением, Александр. |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.05.2009(UTC) Сообщений: 41
|
Спасибо за сертификаты. Ваш пример проверился успешно. Изменения на алгоритмы провел. 1. Добавил в Ваш пример подпись на InfoPath, и своим сертификата на С#. Потом Info_path с проверкой. Результат тот же - отрицательный, ошибка. 2. Подписал третьей подписью Ваш пример (т.е. две Ваших подписи). Результат- отрицательный, НЕДЕЙСТВИТЕЛЬНЫЕ на первых двух подписях. Интересно, что у Вас у двух подписей первые дайджесты идентичны, вторые и подписи нет. А у третьей подписи нет идентичности с первыми двумя даже по первому дайджесту... Свойства формы взяты из Вашего шаболона, я ничего не менял. С уважением, Андрей Отредактировано пользователем 19 апреля 2010 г. 19:41:53(UTC)
| Причина: Не указана Вложение(я): 2.jpg (366kb) загружен 17 раз(а). 1_info_path.xml (12kb) загружен 17 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.05.2009(UTC) Сообщений: 41
|
Нет слов... Нет слов... Все дело было всего в одной строке...
// Формат документа без пробелов. doc.PreserveWhitespace = true;
А было наоборот
Так это работает....И проверяет и подписывает...
С уважением, Андрей
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Цитата:Все дело было всего в одной строке... При чтении подписанного документа пробельные символы конечно нужны. Есть еще одно различие в приведенном вами документе - различные namespace. |
С уважением, Александр. |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.05.2009(UTC) Сообщений: 41
|
Разница то действительно есть.... Похоже вы говорите об этих расхождениях...
У Вас xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-04-16T11:51:47
У меня xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-04-14T06:06:32
Но как в распределенной системе обеспечить полную идентичность? Неужели подписывающая повторно программа должна выщучить предшествующее значение и сделать аналогично?
C уважением, Андрей
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Код:// Получаем namespace my
XmlNode root = doc.SelectNodes("/*")[0];
string myns = root.GetNamespaceOfPrefix("my");
|
С уважением, Александр. |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 24.12.2007(UTC) Сообщений: 390 Откуда: КриптоПро Поблагодарили: 2 раз в 2 постах
|
Идентичность особо и не требуется с точки зоения подписи. Требуется чтобы namspace внутри одного документа был один и узлы "вырезаемые из этого документа" вырезались бы имменно с этим же namespace, а не с разными. |
С уважением, Александр. |
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close