这项被提议的标准提供了微小层的控制,这种控制让XML数据提供商可以根据接收者来控制可见度。而且由于数据本身,而不是文件,是加密的,所以它仍然能够被XML剖析器认出并做出相应的处理。
要了解更多关于Xenc的信息,请访问W3C 2002年3月4日推荐候选文档。
XML签名和加密密切相关。在概念上和安全证书签名类似的XML签名是用来确保XML文档内的内容没有发生改变的。为了帮助弥补文件系统和剖析器的排版变化,XML签名非常依赖叫做“规范化”的概念。这让签名能够在XML文档所碰到各种环境中起作用。
在签名用于内容的时候,规范化会使用XML文件里的数据和标签来创建一个唯一的签名,而忽略掉非至关重要的信息,例如断开的直线和标签空白。当文档被接收的时候,客户系统执行一个“XML签名加密变换”,这会区分出签名以前加密的内容和签名以后加密的内容。任何在签名以后加密的内容都是加密好了的,数据的完整性是通过使用对内容相同的标准化方法校验的,即把结果同XML文档里的签名进行对比。
在和XML加密联合使用的时候,XML签名能够保证所接收的数据就是所发送的数据,而不用向目标接收者的概念妥协。要了解更多的信息,看看W3C在2002年12月1日发布的关于XML签名句法和处理的建议。
XKMS是一个由W3C维护的提议中的标准。它定义一种发布和注册XML-SIG规范所使用的公钥。XKMS有两个部分组成:XML密钥注册服务规范(X-KRSS)和XML密钥信息服务规范(X-KISS)。X-KRSS是用来注册公钥的,而X-KISS是用来解开XML签名所提供的密钥的。
好几个生产商,例如VeriSign,对这个协议投入巨大,并已开发出了工具包和其他应用程序来推动这个规范的实现。
这个规范的定义仍然是相当松散的,而且2002年3月18日公布的最新工作草案仍然局限在当前的需求。