Могу ли я проверить подпись XML из песочницы? - PullRequest
1 голос
/ 21 октября 2011

У меня есть некоторый код, который извлекает некоторое количество XML, а затем пытается проверить подпись XML. Согласно этой записи , метод проверки типа SignedXml требует полного доверия для выполнения проверки подписи XML. Поскольку мой код должен выполняться в песочнице, у меня нет полного доверия, и поэтому выдается исключение безопасности.

Если это так, то есть ли другие способы проверки подписи XML (желательно без необходимости приобретения программного обеспечения сторонних производителей)?

Ответы [ 2 ]

1 голос
/ 14 декабря 2011

Кажется, что это невозможно. Мой обходной путь - избегать использования подписанного xml и добавлять хэш. Это гораздо менее безопасно, но лучшее, что я могу сделать без использования кода полного доверия.

0 голосов
/ 06 июня 2013

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

В MSDN документах говорится "В версии 1.1 .NET Framework, вызывающая сторона должна быть полностью доверенной, чтобы указать XmlResolver. "Я работаю в среде среднего доверия с .NET 4.5, и я могу успешно установить XmlResolver.Так как я знал, что мне никогда не понадобится разрешать какие-либо внешние ссылки в моем XML-документе (объяснение того, что это означает здесь ), я был в порядке, чтобы установить SignedXml.Resolver в null.В моем случае это устранило проблему и позволило использовать SignedXml в среде общего хостинга (GoDaddy).

Обратите внимание, если вы хотите использовать SecureXmlResolver, вы могли бы нужно FullTrust.

...