XSLT是由W3C定义的一种对XML进行转换的语言。它的出现使得构建XML文档或者对文档或文档中的元素进行运算变得更加方便快捷,同时还提供了高级声明编程语言的所有好处,如果把加密和解密
看作是一种XML的转换操作,即从加密的XML转换到未加密的XML,反之亦然,那么XSLT将能很好的完成这一工作。使用XSLT进行元素XML加密就可以很好的避免上诉方法中部署和维护专用的处
理器的麻烦。因为它只需要一个标准的处理器,所有XML的安全操作都将被限制在样式表中,而不涉及XSLT处理器。
一个使用XSLT实现的XML加密/解密的过程如图所示:
一个实现XML加密或解密的样式都是由3部分组成:
1、用于匹配XML文档中对应标签的模版声明。这样就可以保留XML文档中所包含的文档结构。为了在输入文档中保留原文档的结构,每一个标签都需要在样式表中有一个相匹配的模版以便进行复
制。根据W3C的建议,XSLT处理器将默认的丢弃那些没有匹配的标签,这是我们所不愿意看到的;
2、扩散函数。用于对XML中的文本字符串进行加密和解密。
3、属性识别与复制。一些包含在源XML文档中的属性被要求复制到输出文档中,而另一些则要求被舍弃。这也是通过模版匹配来实现。使用包含扩展函数的XSLT进行XML文档加密解密的框架如图所示:
在这个框架中XSLT处理器接受一个样式表和一个源XML文档作为输入,并利用样式表中的扩展函数与外部的加密解密进行交互,以生成加密加密的目标的XML文档。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。