我正在为南非的学校开发申请,必须向州IT机构提交XML格式的数据进行统计处理。我目前正在使用PHP生成XML文件 DOMDocument 班级。

我的文件已经完成了第一阶段验证过程。下一阶段是实现XML文件的加密和压缩。压缩是一个简单的GZIP,因此不用担心。

规范文档表明使用了两种RSA加密(我将被发出RSA密钥以实施到软件中)以及某种形式的对称加密(例如Triple des)(尽管这是一个“示例”,并且任何算法都在 http://www.w3.org/TR/xmldsig-core 可以实现)。如果我正确理解了这一点,则RSA加密是要编码用于字段实际加密的对称键。

规范文档还说“可以在整个文件或某些元素上执行XML文件的加密。”在此阶段,我不太确定哪个更容易,因此答案都足够了!

我认为,要求加密XML标签的内容,而不是名称(如 http://www.w3.org/TR/xmlenc-core/#sec-eg-Element-Content-Character).

如果这似乎含糊不清,我深表歉意。目前,我拥有的所有信息和该机构的联系人很高兴地说(VisualBasic .NET)代码样本应该解释所有内容...如果您想检查此代码样本,欢迎您查看以下zip文件中的Word文档,从大约213页开始。 http://www.sita.co.za/doe_lurits/Devs-00118%20REV%201.2%2012%20JAN%202009.zip

如果有人可以帮助或指向正确的方向,我将不胜感激。

有帮助吗?

解决方案

您应该只使用XMLSEC加密加密XML文件。以下库应为您处理所有详细信息,

http://code.google.com/p/xmlseclibs/

其他提示

openssl_encrypt 用于对称加密和 openssl_public_encrypt/openssl_private_decrypt 用于非对称加密。

听起来您可以加密整个文档,也可以只是某些“敏感”标签的内容。加密整个文档可能是最简单的方法。

至于RSA/3DES的事情 - 您几乎可以肯定是正确的。您将使用3DE对文档进行加密,然后使用其RSA公钥对3DES密钥进行加密。

因此,似乎您需要做的只是生成文档,将其拉链,然后用3DE加密zipled结果。

对称的加密文档Plus-pk-recrypted-Key架构本质上是PGP。您的客户可以接受OpenPGP吗?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top