摘要
在 Microsoft Office Excel 2003 和更高版本的 Excel 中,您可以对工作簿进行数字签名,也可以对宏项目进行代码签名。 这可确保您是最后一个对工作簿或宏项目进行更改的人。
更多信息
什么是数字证书?
数字证书和签名有助于确保要使用的文件来自可靠的源。 它们有助于确保文件未被篡改。
数字证书是文件附带的 ID。 为了验证签名,证书颁发机构会验证有关文件创建者的信息,然后颁发数字证书。 数字证书包含有关向其颁发证书的人员的信息,以及有关颁发证书的证书颁发机构的信息。 使用数字证书对文件进行签名时,此 ID 会随文件一起以可验证的形式存储,以便可向用户显示。
什么是数字签名?
Excel 对工作簿内容使用数字签名来帮助确保工作簿自签名以来未修改和保存。 数字签名还可以帮助你将可靠源创建的工作簿和宏与不需要的、可能有害的工作簿或宏代码 (病毒) 区分开来。
数字签名是一个公共证书,加上已签名数据的值(由私钥加密)。 值是加密算法为要签名的任何数据生成的数字。 这种算法几乎不可能在不更改生成的值的情况下更改数据。 因此,通过加密值而不是数据,数字签名可帮助用户验证数据是否未更改。
使用数字签名时会发生什么情况?
你可以查看和编辑已签名的 Excel 工作簿,尽管如果不使签名失效,则无法修改和保存已签名的工作簿。 例如,你可以对文件进行签名,而其他用户可以查看该文件。 只要文件保持签名状态,其他人就会知道它来自你,并且尚未修改。
对工作簿进行数字签名不同于Visual Basic for Applications (VBA) 宏项目的代码签名。 您可以对工作簿进行内容数字签名,还可以对同一工作簿中的 VBA 宏项目进行代码签名。
我可以对哪些 Excel 文件进行数字签名?
可以对任何 Excel 工作簿或 Excel 模板进行数字签名。 但是,早于 Microsoft Excel 2002 的 Excel 版本无法识别数字签名。
如果对共享工作簿进行数字签名,Excel 将不会保留数字签名,因为多人可以更改工作簿。 此外,您不能对宏项目进行代码签名,因为在将宏项目设置为共享工作簿后,Excel 将不允许在工作簿中创建或更改宏项目。
如何获取数字签名?
若要获取数字签名,首先必须具有数字证书。
可以从商业证书颁发机构或内部安全管理员或信息技术 (IT) 专业人员获取数字证书或代码签名 ID。
证书颁发机构可以免费向你颁发数字证书或代码签名 ID。 证书颁发机构在颁发数字证书之前检查进行深入的标识。
有关如何获取数字签名或代码签名 ID 的详细信息,请访问以下 Microsoft 网站:
可以使用 Microsoft Office 中提供的 SelfCert.exe 工具创建自己的数字证书以供个人使用或测试。 但是,此证书不会由证书颁发机构 (CA) 进行身份验证。
如何实现向工作簿添加数字签名?
若要向工作簿添加数字签名,请根据正在运行的 Excel 版本执行以下步骤。
Microsoft Office Excel 2007
单击“ Microsoft Office 按钮”,指向 “准备”,然后单击“ 添加数字签名”。
单击“确定”。
如果工作簿已更改且尚未保存,或者未以 Excel 2007 工作簿格式保存,则会收到以下消息:
必须先将工作簿保存为支持数字签名的格式,然后才能添加签名。
是否要将工作簿另存为 Microsoft Office Excel 工作簿?单击“ 是 ”以显示“ 另存为 ”对话框。 必须 (*.xlsx) 格式将文件保存在 Excel 工作簿中,才能添加数字签名。
保存工作簿后,将显示“ 获取数字 ID ”对话框。 选择要使用的数字 ID 类型,然后单击“ 确定”。
完成所选数字 ID 类型的必要步骤后,Excel 工作簿现已签名。
注意
如果在添加数字 ID 后保存工作簿,数字 ID 将被删除。 例如,在对工作簿进行数字签名后,单击 “Microsoft Office 按钮 ”并单击“ 另存为 ”时,会收到以下消息:
保存此工作簿的副本将使副本中的所有签名无效。
是否继续? 如果单击“ 是”,将从工作簿副本中删除数字 ID。
关闭并重新打开已签名的工作簿时,Excel 标题栏将在工作簿名称后面的方括号) 显示 单词 [只读] (。 此外,状态栏中会显示数字 ID 图标,“签名”任务窗格显示,指示已将数字签名添加到工作簿。
若要验证签名工作簿中是否未发生更改,请验证签名任务窗格中是否显示了签名者。
Excel 2003
在“工具”菜单上,单击“选项”。
在“ 安全性 ”选项卡上,单击“ 数字签名”。
单击“添加”。
如果工作簿已更改且尚未保存,或者未以 Excel 2003 工作簿格式保存,则会收到以下消息:
此工作簿必须保存为 Microsoft Excel 工作簿,然后才能进行数字签名。 是否保存工作簿?
单击“ 是 ”以显示“ 另存为 ”对话框。 必须以 Microsoft Excel 工作簿格式保存文件才能添加数字签名。
保存工作簿后,将显示 “选择证书 ”对话框。 选择要使用的证书,然后单击“ 确定”。
单击“ 确定” 关闭“ 数字签名 ”对话框。
Excel 工作簿现已签名。
注意
如果在添加数字签名后保存工作簿,则将删除数字签名。 例如,在对工作簿进行数字签名后,单击“文件”菜单上的“保存”时,会收到以下消息:
保存将删除工作簿中的所有数字签名。
是否继续?如果单击“ 是”,将从工作簿中删除数字签名。
关闭并重新打开已签名工作簿时,Excel 标题栏将在工作簿名称后 (方括号) 显示 [已签名,未验证] 一词。 这表示已将数字签名添加到工作簿。
若要验证签名工作簿中是否未发生更改,请执行以下步骤:
- 在“工具”菜单上,单击“选项”。
- 在“ 安全性 ”选项卡上,单击“ 数字签名”。
- 在“ 签名 ”选项卡上,如果 以下“已对此文档进行数字签名 ”列表中列出了签名者,则可以放心,该文件自将数字签名添加到该文件后未更改。
如何实现代码对宏项目进行签名?
若要对Visual Basic for Applications宏项目进行代码签名,请执行以下步骤:
打开包含要签名的宏项目的工作簿。
按 ALT+F11 打开 Visual Basic 编辑器。
在“项目资源管理器”中,选择要签名的项目。
在 “工具 ”菜单上,单击“ 数字签名”。
执行下列操作之一:
- 如果之前未选择数字证书,或者想要使用另一个数字证书,请单击“ 选择”,选择该证书,然后单击“ 确定 ”两次。
- 若要使用当前证书,请单击“ 确定”。