验证XML文件

时间:2009-01-26 15:46:30

标签: xml authentication

我的情况是我的应用程序必须读取XML文件,而另一个应用程序将放在文件系统上的特定位置(在多个平台上)。我控制着这份文件的内容。另一个应用程序只是提供运输。

我想确保文件在运输过程中未经过修改或以任何方式伪造。目前,我们只是将文档字符串的盐渍哈希写入XML文档本身之前的文件的开头。当我们解析文档时,我们只是删除哈希值,将其与文档其余部分的哈希值进行比较,然后将其发送给解析器。

有没有人有这种他们想分享的场景的经验?我缺少任何缺陷或更简单的方法吗?

5 个答案:

答案 0 :(得分:3)

签署xml文档有一个标准:http://www.w3.org/TR/xmldsig-core/

如果您不想自己实施所有内容,建议您使用XML security library

答案 1 :(得分:0)

我们加密整个xml文件并解密使用。这样我们就可以确定它是否已被修改;)

答案 2 :(得分:0)

您可以做的最安全的事情是加密两个应用程序之间的网络流量。你可以肯定地对文件进行散列,但像MD5 hash这样的东西应该可以做到这一点。

答案 3 :(得分:0)

您应该通过使用非对称加密算法加密salted哈希来签署邮件,然后沿文档发送。仅使用哈希不会强制执行安全性,因为某些入侵者可能会使用相同的哈希生成不同的消息。

答案 4 :(得分:0)

根据这些文档的重要程度,哈希可能就足够了。然而,如果你在两端都有PGP支持,那么更多防弹机制就是使用不对称的东西,如PGP签名。