xml数字签名技术在javase6中的实现

xml数字签名技术在javase6中的实现

ID:44209782

大小:59.00 KB

页数:6页

时间:2019-10-19

xml数字签名技术在javase6中的实现_第1页
xml数字签名技术在javase6中的实现_第2页
xml数字签名技术在javase6中的实现_第3页
xml数字签名技术在javase6中的实现_第4页
xml数字签名技术在javase6中的实现_第5页
资源描述:

《xml数字签名技术在javase6中的实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、XML数字签名技术在JAVASE6中的实现孙瑛霖,软件工程师,IBM中国软件开发实验室SOA设计中心2007年4刀16日XML数字签名技术用于对XML格式的数据进行数字签名,以保证报文的完整性,不町否认性,以及提供身份认证信息oJSR105提供了XML数字签名的Java接口,而授近发布的JavaSE6则包括了JSR105的实现,从而为基于Java的应用程序提供了标准的XML数字签名接口。本文首先简要介绍技术背景,以实例來讲解XML数字签名的语法和处理规则,之后用具体的程序例子解释如何使用JavaSE6生成

2、各种格式的XML数字签名并进行验证。1.技术背景1.1数字签名简介数字签名是非对称密仞技术的一种应用模式,用于保证报文的完整性,不可否认性,以及提供身份认证信息。数字签名的原理如图1所示。图1:数字签名的原理发送者在发送报文Z前,先选用某种摘要算法为报文生成一个摘要值,并使用白己的私钥对摘要值加密,然后将加密后的摘要附在报文后面,一同发送给报文的接收者。接收者收到报文后,从中分离出原始报文和加密后的报文摘要,使用与发送者相同的摘要算法计算原始报文的摘要值D,并使用发送者的公共密钥将加密后的报文摘耍解密得到

3、摘要值D检查D与D'是否匹配。如果匹配,那么由于密钥对的唯一性,所以可以确定报文发送者的身份,而n由于数据摘耍算法的特点,述nJ-以确定原始报文在传输过程中没冇被篡改。1.2XML数字签名简介XML发展至今,已经逐渐成为标准的数据描述技术,在分布式应用中广泛地用于数据的交换。由于XML数据木身的特殊性和使用XML进行数据传输的分布式应用的特点,在对XML文档的特定部分进行签名,多方签名,以及签名后保持XML文档原有的良构特性等诸多方面,传统的数字签名技术都无法很好地实现。基于这样的问题,W3C组织制订了

4、XML数字签名规范,规定了标准的XML数字签名语法和处理规则。同传统意义的数字签名相比,XML数字签名能够对XML文档进行细粒度地分析,支持多种方式的文档数据转换,只对文档的特定部分进行签名和验证,并几能够保持XML文档的良构特性。此外,XML数字签名提供的密钥信息表示方法清晰易读,更加便于签名的白动验证处理。1.3XML数字签名实例本节用一个简单的例子來介绍XML数字签名的语法和处理规则。表1签名前的XML文档1.2.3.peter4.100005.6.43925649817823157.CMB8.06

5、/20109.USD10.11.表1屮的XML文档描述了peter的信用卡支付记录。在按照XML数字签名规范对整个文档签名之后,生成的XML文档如表2所示:表2签名后的XML文档1.2.3.peter4.100005.6.43925649817823157.CMB8.06/20109.USD10.11.12.13.14.15.16.17.18.19.20.9gETxLImlhuTZtMkmGlyBTZWa5g=21.22.23.OIFpnZmeGt+tOywzTgrcYBje/04uGmGIrbZYYxx

6、Xj4jsBdq+0JwZlA==24.25.26.27.28./KaCzo4Syrom78z3EQ5SbbB4sF7cy80ctKII864WF6429.B81uRpH5t9jQTxeEuOImbzRMqzVDZkVG9xD7nNlkuFw==30.31.H7dzDacuo67Jg7mtqEm2TRuOMU=32.33.Z4Rxsnqc9E7pGknFFH2xqaryRpBaQ01khpMdLRQnG34.541Awtx/XpaF5Bpsy4pNWMOHCBiNUONogpsQW5QvnlMpA==35

7、.36.37.NMxkCcO6Hddl46qBJ4FQGppz8IncS8onBpshqlxsd38.pAqgM21gn8kCpHqfO7jLx7NpZwHeDtHLfKKSYg+Ln6Xzw==39.40.41.42.43.44.所有与XML数字签名相关的信息都存放在元素屮。元素包含有几个主要的子元素:元素至少包含一个元素,每个元索用于对待签名数据进行引用,包含有引用方式、转换方法、摘要算法和摘要值等信息。还包含有XML数据的规则化方法,并指定了数字签名所使用的算法。元素包含对元素规范化后的内容进行签名

8、生成的数字签名的值。元素用于指定验证签名所需的公共密钥相关信息。XML数字签名的过程人致为:1.根据每个元素中指定的资源引用方式,摘要算法,数据转换方法等信息,对引用资源进行转换,然后对转换后的结果计算出摘要值。2.根据元素中指定的XML数据的规范化方法对规则化,对规范化Z后的数据生成摘耍值,并使用私钥对摘耍值进行加密,将生成的加密摘要值存放在元素中。1.4XML数字签名的验证XML数字签名的验证主要包括两个步骤,首先需要对元

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。