XML 数字签名的使用小技巧

虽然 XML 数字签名只是 W3C 和 IETF(Internet Engineering Task Force) 于 2002 年共同提出的草案,但 XML 签名为任何数据提供了完整性、消息认证、以及签名者认证服务。XML 数字签名可以应用于任何数据对象 ( 包括 XML 文档 ),也可以应用于一个或多个资源文件,或者资源文件的子集。XML 数字签名格式如清单 1。


清单 1. XML 数字签名的格式
<Signature> 
<SignedInfo>
<CanonicalizationMethod/>
<SignatureMethod/>
(<Reference (URI)?>
(<Transforms/>)?
<DigestMethod/>
<DigestValue/>
</Reference>)+
</SignedInfo>
<SignatureValue/>
(<KeyInfo/>)?
(<Object ID?/>)*
</Signature>






回页首


XML 数字签名如何签署资源文件的片段?

XML 数字签名把 XPath 表达式作为自己的 Transform,根据 XPath 表达式来查找 XML 解析树,最后计算出 XML 文档中的子集。为了更简单更快地定位 XML 文档中的结点集合,W3C/IETF 共同提出了 XPath Filter 规范,这就是这一章节要提到的技术。

XPath

XPath 是针对 XML 文档部分内容定义的语法和标准函数库,也是 W3C 的标准。XPath 使用路径表达式在 XML 文档中定位导航。

XPath Filter

XPath Filter 虽然只是 W3C XML 签名工作组和 IETF 提出的草案,将来可能会被更改,甚至被其他新的方法替代。但它在 XML 签名中使用 XPath 的思想仍然是值得借鉴的。

XML 签名 XPath Filter Transform 由一个或多个 XPath 结点构成。其结构如代码清单 2.


清单 2. XPath Filter 在 XML 数字签名中的结构



本文转自IBM Developerworks中国

      请点击此处查看全文


 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值