回答

1

分离效率会高一点,但差别很小(当然这取决于文档大小 - 对于100Mb文档,差异会比使用小型XML块更大)。

+0

我将不得不处理非常大的文件(在我的情况下,100MB文件是*小*)。你有没有参考证实分离效率更高?从理论的角度来看,我并不完全理解,当签名树位于签名树旁时,与签名树下方的签名相比,计算签名的速度更快... – rds 2013-03-03 11:33:07

+1

@rds速度差异不是通过计算签名值,但是通过应用转换和呈现输出文档。如果您使用基于DOM的签名者,它将加载整个文档,然后在包装或嵌入签名的情况下再次撰写。在签名分离的情况下,只有一个小签名块会被写入,这里是分离签名胜出的地方。另外,如果100Mb对于您的数据来说很小,那么将其加载到DOM进行处理时会遇到严重问题。 – 2013-03-03 11:49:23

0

由于没有编写XMLdSig,请记住性能或文件大小可能会成为问题;流式传输是不可能的。由于大数据需要签名,这确实是一个问题,因为DOM对象吃了很多内存,相信我。在这方面,封闭或封闭并不重要。

这是分离签名闪耀的地方。签名本身并不那么大,并且要签名的数据可以流式传输,因为您只需要散列它。

+0

我还没有开始,但我看到了一个[XML Signature Streaming Profile](http://www.w3.org/TR/2012/CR-xmldsig-xpath-20120124/),这听起来与“* streaming不可能*”。另外,我不明白你的意思是“*签名本身不是那么大*”。无论其位置是什么,都不能使用相同的算法计算签名? – rds 2013-03-03 11:30:17

+0

@rds您提到的文档与加载用于签名或应用转换的XML文档无关 - 这两个仍需要DOM。 – 2013-03-03 11:53:08