首页>技术支持>XML 代码签名证书申请和签名指南

XML 代码签名证书申请和签名指南

XML 已经非常普及了,越来越多的公司都在网上使用 XML 传输结构化数据,特别是在电子商务中 XML 应用尤其突出,比如在客户端用 Web 服务获取服务器端的文件,修改后再回传给服务器。因此 XML 文档的安全性也变得愈加重要,也越来越多地受到人们的关注。对 XML 文件进行数字签名,保证 XML 文件的安全,以便确认原始 XML 文件没有被篡改和显示 XML 代码发行者的真实身份。

本签名指南由 WoSign 根据微软网站有关文档整理,请同时参考:

http://msdn2.microsoft.com/zh-cn/library/xhctdw55(VS.80).aspx

http://www.microsoft.com/china/MSDN/library/archives/library/dnWebsrv/html/underXMLdigsig.asp

本指南基于微软 .NET Framework 工具:图形化客户端中的清单生成和编辑工具 (MageUI.exe) 编写,如果您还没有此工具软件,请到微软网站上下载。微软 .NET Framework 的 System.Security.Cryptography.XML 符合世界互联网联盟 (W3C) 和因特网工程任务组 (IETF) 共同制订的 XML 签名的语法和处理规范。

第 1 步:向 WoSign 申请微软代码签名证书(请参考:代码签名证书申请和使用指南),由于 MageUI.exe 签名工具只认 PFX 格式证书,请在申请 WoSign 微软代码签名证书时选择 “ 私钥保存方式 ” 为 “CSP” ,如图 1 所示,这样,证书就直接安装到 Window 证书存储区中,无需在进行格式转换。如果您已经有了mykey.pvk 和 mycert.spc双证书文件,请参考 不同证书格式转换指南 把双证书转换为.PFX格式证书:

XML代码签名证书申请

第 2 步:运行 MageUI ,在“ File ” - “ Preferences ”中设置“ Sign on save ” ( 保存文件时签名 ) ,另一个选项是“ Use default setting certificate ”,可以选择从 IE 中导出 .PFX 格式的代码签名证书,也可以不选,直接在保存文件时选择 Window 证书存储区中的证书签名,如图 2 所示:

XML代码签名证书申请

第 3 步:如图 3 所示,选择需要签名的 Mage 文件,点击保存图标,就会显示如图 4 所示的界面,如果您在第 2 步选择了已经从 IE 中导出 .PFX 格式证书,则选择“ Sign with certificate file ”,需要设置证书导出时设置的密码;也可以选择“ Sign with stored certificate ”,选中所列出的代码签名证书即可。如果您的应用服务器是在互联网上,则推荐添加时间戳,从而确保签名证书过期后此 XML 的签名还有效,在“ TimeStamping URI ”栏输入 WoSign 免费提供的时间戳 URI : http://timestamp.digicert.com 即可。如果您的 应用服务器是在内部网上,则不能使用时间戳。

XML代码签名证书申请 XML代码签名证书申请

第 4 步:点击已经签名的 Mage 文件或把已经签名的文件放到网站上,运行后会显示此 XML 文件的签名信息, 如图 5 所示,会显示发行者的公司名称,点击此公司名称就可以显示证书详细信息,表明 XML 文件签名成功:

XML代码签名证书申请

第 5 步:您还可以直接使用记事本打开 Mage 文件,您会看到其中的 publisherIdentity name 会显示签名者的信息,如图 6 所示,其中第 1 个 <X509Certificate> </X509Certificate> 之间的编码是签名者的证书,而第 2 个 <X509Certificate> </X509Certificate> 之间的编码是证书颁发者的中级根证书。如果您签名时添加了时间戳,则还会在 <as:Timestamp></as:Timestamp> 之间含有时间戳签名者证书信息。

XML代码签名证书申请

最后,请点击 这里 测试已经签名的演示程序,请注意:您的电脑上必须已经安装 Microsoft .Net Framework 才能正常运行,否则会直接显示XML源代码。