1

我有一些代码可以检索一些 xml,然后尝试验证 xml 签名。根据this post,SignedXml类型的验证方法需要完全信任才能进行xml签名验证。由于我的代码需要在沙箱中运行,我没有完全信任,因此引发了安全异常。

如果是这种情况,那么是否有其他方法来验证 xml 签名(最好不需要购买第 3 方软件)?

4

2 回答 2

1

似乎这是不可能的。我的解决方法是避免依赖签名的 xml 并添加哈希。这远没有那么安全,但我可以在不使用任何完全信任代码的情况下做到最好。

于 2011-12-14T00:22:35.577 回答
0

我认为如果您不需要使用XmlResolver.

MSDN 文档说“在 .NET Framework的1.1 版中,调用者必须完全受信任才能指定 XmlResolver。”。我正在使用 .NET 4.5 在中等信任环境中运行,并且可以成功设置XmlResolver. 因为我知道我永远不需要解析我的 XML 文档中的任何外部引用(在这里解释这意味着什么),所以我可以SignedXml.Resolvernull. 就我而言,这解决了问题并允许SignedXml在共享托管环境(GoDaddy)中使用。

请注意,如果您想使用SecureXmlResolver,您需要FullTrust.

于 2013-06-06T11:22:04.493 回答