数字签名简介

应用对象
InfoPath 2010 InfoPath 2013

重要

对 Microsoft InfoPath 2013 的支持已于 2026 年 7 月 14 日结束。 建议将现有的 InfoPath 表单和工作流迁移到受支持的 Microsoft 365 解决方案。 了解有关 InfoPath 停用的详细信息。

本文内容

什么是数字签名?

使用数字签名的原因与签署纸质文档的原因有很多相同。 数字签名用于通过计算机加密技术对数字信息(例如表单模板、电子邮件和文档)进行身份验证。 数字签名有助于建立以下保证:

  • 真实性 数字签名有助于确保签名者是他或她声称的人。
  • 完整性 数字签名有助于确保内容自数字签名以来没有被更改或篡改。
  • 不可否认性 数字签名有助于向各方证明签名内容的来源。 “否认”是指签名者否认与已签名内容有任何关联的行为。

若要对表单模板做出这些保证,必须对表单模板进行数字签名。 还可以为表单模板启用数字签名,以便用户可以对他们填写的表单做出相同的保证。无论哪种情况,都必须满足以下要求才能对表单或表单模板进行数字签名:

  • 该数字签名有效。
  • 与数字签名关联的证书是最新的 () 尚未过期。
  • 签名人或组织(即发布者)受信任。
  • 与数字签名关联的证书由受信任的证书颁发机构 (CA) 颁发给发布者。

返回页首

兼容性注意事项

创建表单模板时,可以启用数字签名,以便用户可以将其添加到整个表单或表单的特定部分。 在 Microsoft Office InfoPath 2007 中,还可以选择设计与浏览器兼容的表单模板。 浏览器兼容表单模板是在 InfoPath 中使用特定的兼容性模式设计的表单模板。 将与浏览器兼容的表单模板发布到运行 InfoPath Forms Services 的服务器时,可以通过浏览器启用该模板。 在启用浏览器的表单模板中,您只能将数字签名添加到用户填写的表单的特定部分。如果对窗体的各个部分启用数字签名,则签名将仅应用于窗体的这些特定部分中的数据。

返回页首

如何在 InfoPath 中使用数字签名

设计表单模板时,可以指定用户在基于表单模板填写表单时是否可以添加数字签名。 还可以指定用户是可以对整个表单签名还是仅可以对部分表单进行签名。 如果启用数字签名以便可以将其添加到窗体的一部分,则必须确定窗体中的哪些数据可以签名。 还可以将该数据与添加到表单模板的部分相关联。 一旦签署,就不能在不使签名无效的情况下更改已签署的表格或表格的一部分。

设计表单模板时,还可以指定是否允许用户向表单添加多个数字签名,以及这些签名是否应共同签名, (在这种情况下,每个签名都独立于其他签名) 或会签 (在这种情况下,每个签名都对表单及其前面的签名) 签名。

注意

如果表单模板是基于 XML 架构设计的,则仅当 XML 架构具有位于万维网联合会 (W3C) XML 数字签名命名空间中的节点时,才能为该表单模板启用数字签名。

除了启用数字签名以便用户可以对基于表单模板的表单进行签名外,还可以对自己设计的表单模板进行数字签名。 对表单模板进行数字签名可验证您作为表单模板的设计者身份,就像表单上的数字签名验证填写表单的用户一样。 将数字签名添加到表单模板还使表单模板能够在完全信任级别运行。 例如,包含使用完全信任安全级别的托管代码的表单模板必须安装在用户的计算机上或由表单模板设计器进行数字签名,以便可以使用。

注意

如果 Microsoft Office Outlook 2007 用户将 InfoPath 表单的副本作为电子邮件发送给其他 Office Outlook 2007 用户,并且该表单设置为在完全信任安全级别运行,则关联的表单模板必须使用数字签名才能正常工作。

若要向表单或表单模板添加数字签名,需要数字证书。 您可以通过商业证书颁发机构或内部安全管理员获取数字证书。 是否购买数字证书取决于你的组织计划在多大程度上部署表单模板。

数字证书

对表单模板进行数字签名时,InfoPath 仅使用具有私钥和“密钥用法”属性的数字签名两者值的证书。 此外,证书的用途必须是 代码签名 证书。

由于 InfoPath 使用 XML 签名对表单进行数字签名,因此当用户使用数字证书对表单进行签名时,以下准则适用于用户的证书:

  • 证书必须包含证书颁发日期和时间以及证书过期日期和时间的有效值。
  • 证书必须安装在用户的计算机上,并与私钥相关联。
  • 证书中包含的密钥用法属性必须包含 digitalSignaturenonRedpudiation 值。 密钥用法定义证书密钥的用途。

注意

由于您创建的数字证书不是由正式证书颁发机构颁发的,因此,使用您创建的证书签名的表单模板称为自签名表单模板。 这些自签名证书被视为未经身份验证,如果表单模板的安全级别设置为完全信任,它们将生成安全警告。 InfoPath 仅信任有权访问该证书的私钥的计算机上的自签名证书。 在大多数情况下,这意味着 InfoPath 仅信任创建证书的计算机上的自签名证书,除非私钥与其他计算机共享。

有两种类型的证书颁发机构,商业证书颁发机构和内部证书颁发机构。

商业证书颁发机构

如果你是一名开发人员,并且想要从商业证书颁发机构(如 VeriSign, Inc.)获得数字证书,则你或你的组织必须向该颁发机构提交申请。

根据您作为开发人员的身份,您应该为软件发布者申请第 2 类或第 3 类数字证书:

  • 2类数字证书 专为以个人身份发布软件的人员设计的数字证书。 此类数字证书有助于保证各个发布者的身份。
  • 3类数字证书 专为发布软件的公司和其他组织设计的数字证书。 此类数字证书有助于更好地保证发布组织的身份。 3 类数字证书旨在代表软件零售渠道提供的保证级别。 3 类数字证书的申请人还必须满足基于 Dun & Bradstreet Financial Services 评级的最低财务稳定性水平。

在收到数字证书时,系统将向你提供有关如何在用于签署 InfoPath 表单模板的计算机上安装数字证书的说明。

内部证书颁发机构

某些组织和公司可能具有充当自己的证书颁发机构的安全管理员或组。 此管理员或组可以使用证书颁发机构工具(如 Microsoft 证书服务器)生成或分发数字证书。 根据组织使用Microsoft Office 数字签名功能的方式,可以使用组织内部证书颁发机构提供的数字证书对表单模板进行签名。 或者可能需要让管理员使用批准的证书为你签署表单模板。 有关组织策略的信息,请联系网络管理员或 IT 部门。

返回页首