保护 Office 解决方案的安全

Office 解决方案的安全模型涉及以下几项技术:Visual Studio Tools for Office Runtime、ClickOnce、Microsoft Office 中的信任中心以及 Internet Explorer 受限站点区域。以下各节介绍不同安全功能的工作方式:

  • 向 Office 解决方案授予信任

  • 向文档授予信任

  • 在使用 Windows Installer 安装程序时授予信任

  • Office 解决方案的特定安全注意事项

  • 开发过程中的安全性

  • Visual Studio Tools for Office 运行时

**适用于:**本主题中的信息适用于 Microsoft Office 2010 和 2007 Microsoft Office system 的文档级项目和应用程序级项目。有关更多信息,请参见按 Office 应用程序和项目类型提供的功能

向 Office 解决方案授予信任

向 Office 解决方案授予信任意味着修改每个最终用户的安全策略,以便基于以下证据信任 Office 解决方案:

  • 用于对部署清单进行签名的证书。

  • 部署清单的 URL。

有关更多信息,请参见向 Office 解决方案授予信任

向文档授予信任

文档级自定义项要求文档位于被指定为受信任位置的目录中。 有关更多信息,请参见向文档授予信任

在使用 Windows Installer 安装程序时授予信任

可以使用 Windows Installer 创建 MSI 文件以将 Office 解决方案安装到 Program Files 目录中(此操作需要管理员权限)。 对于 Program Files 目录中的 Office 解决方案,Visual Studio 2010 Tools for Office Runtime 将这些 Office 解决方案视为受信任的,但不显示 ClickOnce 信任提示。

Office 解决方案的特定安全注意事项

Microsoft .NET Framework 3.5 和 Microsoft Office 提供的安全功能有助于保护 Office 解决方案免受各种可能的安全威胁。 有关更多信息,请参见 Office 解决方案的特定安全注意事项

开发过程中的安全性

为了使开发过程更加容易,Visual Studio 设置了每次生成项目时在计算机上运行和调试解决方案所需的安全策略。 在某些方案中,可能需要采取额外的安全措施来开发项目。

文档级解决方案

如果要开发以下类型的项目,则必须将文档的完全限定路径添加到 Microsoft Office 应用程序中的受信任位置列表:

  • 位于网络文件共享(例如 \\服务器名\共享名)上的文档级解决方案。

  • 使用 .doc 或 .docm 文件的 Word 文档级解决方案。

在向受信任位置列表中添加文档位置时,请包括子目录,或者专门包括调试和生成文件夹。 有关更多信息,请参见 Microsoft Office Online 帮助文章创建、删除或更改文件的受信任位置

临时证书

如果不存在签名证书,则 Visual Studio 会创建一个临时证书。 只应在开发过程中使用该临时证书,在部署时应该购买正式证书。

该临时证书是在首次生成 Office 项目之后生成的。 因为项目在添加证书后被标记为已更改,所以下次按 F5 时,该项目会重新生成。

在经过一段时间后,可能会有很多临时证书,因此应不定期地清除临时证书。

Visual Studio Tools for Office 运行时

Visual Studio Tools for Office Runtime 能够对发行者的标识以及授予自定义项的权限进行验证。 它通过一系列安全检查来验证这些权限。

自定义项加载过程中的安全性

加载文档级自定义项时,Visual Studio Tools for Office Runtime 总是检查文档是否位于受信任位置列表中。 此外,运行时还会检查解决方案是否在应用程序清单中请求 FullTrust。在加载自定义项的过程中,它不再执行其他安全检查。

安装过程中的安全检查顺序

安装或更新 Office 解决方案时,Visual Studio Tools for Office Runtime 会按特定顺序执行一组安全检查,以便做出信任决定。 仅当运行时确定解决方案受信任时,才会安装或更新解决方案。

可以通过以下四种方式之一来启动安装过程:运行安装程序、打开部署清单、打开 Microsoft Office 应用程序宿主或运行 VSTOInstaller.exe。

第一项安全检查仅适用于文档级解决方案。 文档级解决方案的文档必须位于受信任位置。 如果该文档位于远程网络文件共享上,或者具有 .doc 或 .docm 文件扩展名,则必须将该文档的位置添加到受信任位置列表中。 有关更多信息,请参见向文档授予信任

Microsoft Office 安全检查

VSTO 安全 - 从 Microsoft Office 安装

接下来的一组安全检查来自于 Visual Studio Tools for Office Runtime 和 ClickOnce。 若要通过这些检查,Office 解决方案必须请求 FullTrust 权限,使用“不受信任的发行者”列表中未列出的证书签名,并且位于 Internet Explorer 受限区域以外的位置。 如果证书位于“受信任的发行者”列表中,则会立即安装解决方案。 否则,如果解决方案通过所有这些检查,则会继续进行最后一组检查。

运行时和 ClickOnce 安全检查

安装解决方案时的 VSTO 安全性

如果启用了 ClickOnce 信任提示,并且解决方案还没有被授予信任,则运行时将允许最终用户做出信任决定。 如果用户向解决方案授予信任,则会向用户包含列表中添加一项。 用户包含列表中的所有解决方案都具有完全信任,可以安装和运行。

从 Visual Studio 2010 开始,如果使用 Windows Installer (MSI) 将 Office 解决方案安装到 Program Files 目录,则将跳过包含列表。 有关更多信息,请参见使用包含列表信任 Office 解决方案

运行时包含列表检查

VSTO 安全 - 使用 Setup 程序安装

请参见

任务

如何:配置包含列表安全性

如何:添加或移除包含列表项

如何:对 Office 解决方案进行签名

Office 解决方案安全性疑难解答

参考

Office 解决方案的应用程序清单

Office 解决方案的部署清单

概念

向 Office 解决方案授予信任

向文档授予信任

使用包含列表信任 Office 解决方案

其他资源

ClickOnce 参考

部署 Office 解决方案