| <PaymentInfo> 元素。
3.3.2 验证签名
使用表 5 中的 validate 方法对生成的数字签名进行验证,输出信息表示验证成功。然后在生成的 XML 文档中,将 Simon 的支付金额改为 30000,重新验证,结果依然为验证成功。这是因为只对 Peter 的支付记录进行签名,所以 Simon 的支付信息改变,不会影响数字签名的验证结果。如果再将 Peter 的支付金额改为 50000,重新验证,则输出信息显示验证失败。
4. 总结
同传统意义的数字签名技术相比,XML 数字签名技术有很多不可替代的优点。它能够在保持 XML 文档良构性的前提下,对文档内容进行细粒度的签名和验证;通过资源引用和转换的机制,扩大了签名的作用范围,更能够满足分布式应用系统中的安全需求。
W3C 组织制订的 XML 数字签名规范规定了标准的 XML 签名语法和处理规则,而Java SE 6则为 XML 数字签名提供了标准的 Java 接口。目前这些 XML 数字签名规范和程序标准还在进一步完善中,相信随着技术的发展,XML 数字签名技术必将得到越来越广泛的应用。
参考资料
- Donald E. Eastlake, Joseph M. Reagle, David Solo, XML-Signature Syntax and Processing (http://www.w3.org/TR/xmldsig-core/), W3C Recommendation, Feb 12, 2002
- JSR105 - XML Digital Signature APIs(http://jcp.org/en/jsr/detail?id=105)
- JSR106 - XML Digital Encryption APIs(http://jcp.org/en/jsr/detail?id=106)
- Apache XML Security(http://xml.apache.org/security/)
- Sun Java SE 6(http://java.sun.com/javase/6/)
- developerWorks 中国网站 XML 技术专区
- developerWorks 中国网站 Java 技术专区
关于作者
孙瑛霖,软件工程师,现就职于IBM中国SOA设计中心,对网络与分布式系统、安全和SOA等技术有着浓厚的兴趣。 上一页 [1] [2] [3] [4] [5] 上一页 [1] [2] [3] [4] [5] [6] [7] [8]
|