admin 管理员组

文章数量: 1184232


2024年3月10日发(作者:开源的房产系统)

给你的XML文件做个数字签名

如今 XML已经非常普及了,越来越多的公司都在网上使用XML传输 结构化数

据,特别是在电子商务中 XML应用尤其突出,比如在客户端用Web服务获取服务

器端的office文件,修改后再回传给服务器。因此 XML文档的安全性也变得愈加重要,也

越来越多地受到人们的关注。我们可以对 XML文件进行 数字签名,保证 XML文档的安全,

以便确认原始文档没有被污染或变更。

XML数字签名的发展历史

1999年,IBM 推出了XML安全组件,这是XML签名规范的原型,

它包含一些自动生成XML数字签名、实现W3C的“规范”XML工作草

案,以及通过XML加密的实验性实现来提供元素级加密的实用程序;

它还提供一种在应用到XML文档时处理安全性特定要求的方式,引入

了“可扩展访问控制语言( XACL)”的XML模式定义„„

XML数字签名方式和示例

XML签名可以用来确保XML文档内的内容没有发生改变,如果和

XML加密联合使用,即可保证所接收的数据就是所发送的数据,外人无

法阅读加密内容。XML数字签名有两种方式,即封装签名和分离签名,

可以应用到任意数据内容。所谓封装(或被封装)签名,是指数据和

签名在同一个XML文档中,而那些数据在签名元素外部的签名称为分

离签名。下面是一个分离签名示例,XML文件经过数字签名之后,其内

容如下所示„„

给XML文件数字签名的方法

你可以从 IBM 的 alphaWorks 获得IBM 的安全组件,该安全组件

中有一个自动生成XML数字签名的工具,使用它即可给XML文件 签

名。 此外,微软也发展了一套机遇数字证书的XMLsigned认证方式,

使用微软提供的 工具,也可以给XML文件数字签名。

·微软的数字签名法

1、准备工作

·XML安全组件签名法

1、准备工作

2、创建自己的数字证书 2、创建自己的数字证书

3、生成软件发布spc证书

4、对XML文件进行数字签名

3、如何对内部XML资源数字签

4、如何对外部XML资源数字签

5、验证数字签名

一、XML数字签名的发展历史

1999年,IBM 推出了XML安全组件,这是XML签名规范的原型, 它包含一些自动

生成XML数字签名、实现 W3C 的―规范‖XML工作草案,以及通过XML加密的实验性

实现来提供元素级加密的实用程序;它还提供一种在应用到XML文档时处理安全性特定要

求的方式,引入了―可扩展访问控制语言( XACL)‖的XML模式定义。

2001年,世界互联网联盟 (W3C) 和因特网工程任务组 (IETF) 共同组建的

XMLSignature工作组,公布了XML数字签名的推荐版本──XML签名的语法和处理规范

(缩写为XMLDSIG),作为数字签名的规范推出。自 2002 年 2 月以来,它一直是正式

的 W3C 推荐规范,并得到了广泛的应用:微软.NET Framework 中的

就应用了此规范。

W3C将XML数字签名解释为:定义一种与XML语法兼容的数字签名语法描述规范,

描述数字签名本身和签名的生成与验证过程。作为一个安全有效的数字签名方案,该规范

提供了数字签名的完整性、签名确认性和不可抵赖性。为了适应不同的文件系统和剖析器,

XML签名非常依赖―规范化‖的概念,以便签名能够在XML文档所碰到的各种环境中起作用。

在目前的规范中规定:消息摘要使用SHA—l算法,消息鉴别编码使用HMAC算法,数字

签名使用DSA和PKCS1算法;在安全模式上,可以使用基于对称密钥和基于公开密钥两

种体制。


本文标签: 数字签名 签名 使用 规范