MSXML和cannonical XML

时间:2016-10-26 23:45:02

标签: msxml xml-signature canonicalization msxml6 c14n

有没有一种使用MSXML6规范化XML的好方法?

我有一个XML文档,我加载到IXMLDOMDocument对象中。我需要在文档上执行唱歌或散列等操作。我想把它放到XML规范形式la C14N或类似的标准。 IXMLDOMDocument有一个保存到文件的方法,但我认为它不会先将它规范化,也不会真正提供任何旋钮来控制它如何写入文件。有一个MXXMLWriter60可以让你控制一些东西,如缩进,编码格式等,但它似乎没有完成C14N标准的一切。 .net框架有XmlDsigC14NTransform看起来很有意思,但显然不能从我在堆栈中的位置使用。似乎MSXML确实对XMLDSIG有一些支持,因此代码应该规范化东西,但它不会暴露任何内容。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的,MSXML 6.0没有可以使用的cannonicalizer。如果存在具有canoncalizer的旧版MSXML,则它们不包含在现代Windows中。

Windows 运送收件箱组件,可以按照c14n标准和许多其他标准化XML;但是,它们不会被任何公共API公开。

希望这有帮助!