受信任的应用程序部署概述

本主题概述了如何通过受信任的应用程序部署技术,部署具有更高权限的 ClickOnce 应用程序。

受信任的应用程序部署是 ClickOnce 部署技术的一部分,通过该技术,任何大小的组织都可以更方便地以一种更安全的方式,在没有用户提示的情况下,向托管应用程序授予更多权限。 通过受信任的应用程序部署,组织可以将客户端计算机配置为具有受信任的发行者列表,其中受信任的发行者是用 Authenticode 证书标识的。 此后,任何由这些受信任的发行者之一签名的 ClickOnce 应用程序都可以接收更高的信任级别。

备注

受信任的应用程序部署要求一次性配置用户计算机。在托管桌面环境中,可以通过全局策略执行此配置。如果这不是您想对应用程序执行的操作,请改为使用权限提升。有关更多信息,请参见 保护 ClickOnce 应用程序

受信任的应用程序部署基础知识

下表显示了受信任的应用程序部署中涉及的对象和角色。

对象或角色

说明

管理员

负责更新和维护客户端计算机的组织实体

信任关系管理器

公共语言运行时 (CLR) 中的子系统,负责强制实现客户端应用程序的安全性。

发行者

编写和维护应用程序的实体。

部署者

打包应用程序并向用户分发应用程序的实体。

证书

由公钥和私钥组成的加密签名;通常由可以担保其真实性的证书颁发机构 (CA) 颁发。

Authenticode 证书

一种包含描述证书用途及其他信息的嵌入式元数据的证书。

证书颁发机构

验证发行者身份,并向其颁发嵌有发行者元数据的证书的组织。

根颁发机构

授权其他证书颁发机构颁发证书的证书颁发机构。

密钥容器

Microsoft Windows 中用于存储证书的逻辑存储空间。

受信任的发行者

其 Authenticode 证书已添加到客户端计算机上的证书信任列表 (CTL) 中的发行者。

在较大的组织中,发行者和部署者通常是两个不同的实体:

  • 发行者是创建 ClickOnce 应用程序的团体。

  • 部署者是向公司企业桌面计算机分发 ClickOnce 应用程序的团体,通常是信息技术 (IT) 部门。

您必须按照下面的这些步骤来利用受信任的应用程序部署:

  1. 获取发行者的证书。

  2. 向所有客户端上的受信任的发行者存储区添加发行者。

  3. 创建 ClickOnce 应用程序。

  4. 使用发行者证书对部署清单进行签名。

  5. 将应用程序部署发布到客户端计算机。

获取发行者的证书

数字证书是 Microsoft Authenticode 身份验证和安全系统的核心组件。 Authenticode 是 Windows 操作系统的标准组成部分。 所有的 ClickOnce 应用程序,无论是否参与受信任的应用程序部署,都必须使用数字证书进行签名。 有关 Authenticode 如何与 ClickOnce 一起使用的完整说明,请参见 ClickOnce 和 Authenticode

向受信任的发行者存储区添加发行者

为使 ClickOnce 应用程序接收更高的信任级别,必须将证书作为受信任的发行者添加到运行应用程序的每台客户端计算机上。 执行此任务是一次性的配置。 完成之后,可以按照需要部署任意多个用发行者的证书签名的 ClickOnce 应用程序,这些程序都将以高信任级别运行。

如果在托管桌面环境(如运行 Windows 操作系统的公司 Intranet)中部署应用程序,则可以通过使用组策略创建一个新的证书信任列表 (CTL),向客户端存储区中添加受信任的发行者。 有关更多信息,请参见 Create a certificate trust list for a Group Policy object(为组策略对象创建证书信任列表)。

如果不在托管桌面环境中部署应用程序,则可以选择通过下列方式向受信任的发行者存储区添加证书:

创建 ClickOnce 应用程序

ClickOnce 应用程序是一种 .NET Framework 客户端应用程序,其中组合了描述应用程序并提供安装参数的清单文件。 您可以在 Visual Studio 中使用**“发布”**命令将程序转换为 ClickOnce 应用程序。 或者,也可以使用 Windows 软件开发包 (SDK) 附带的工具生成 ClickOnce 部署必需的所有文件。 有关 ClickOnce 部署的详细步骤,请参见演练:手动部署 ClickOnce 应用程序

受信任的应用程序部署特定于 ClickOnce,只能与 ClickOnce 应用程序一起使用。

对部署进行签名

获取证书后,必须使用证书对部署进行签名。 使用 Visual Studio 发布向导部署应用程序时,如果您尚未指定证书,该向导则自动为您生成一个测试证书。 不过,您也可以使用 Visual Studio“项目设计器”窗口指定由 CA 提供的证书。如何:发布 ClickOnce 应用程序
如何:发布 ClickOnce 应用程序
如何:使用发布向导发布 ClickOnce 应用程序
如何:使用发布向导发布 ClickOnce 应用程序

警告

建议不要使用测试证书部署应用程序。

此外,还可以通过使用 Mage.exe 或 MageUI.exe SDK 工具对应用程序进行签名。 有关更多信息,请参见演练:手动部署 ClickOnce 应用程序。 有关与部署签名有关的命令行选项的完整列表,请参见Mage.exe(清单生成和编辑工具)

发布应用程序

一旦完成对 ClickOnce 清单的签名,应用程序就准备就绪,可以发布到安装位置。 安装位置可以是 Web 服务器、文件共享或本地磁盘。 当客户端首次访问部署清单时,信任关系管理器必须决定某个已安装的受信任发行者是否已向 ClickOnce 应用程序授予以更高的信任级别运行的权限。 为了执行此操作,信任关系管理器将用于部署签名的证书与客户端受信任的发行者存储区中存储的证书进行比较。 如果信任关系管理器找到匹配项,应用程序将以高信任级别运行。

受信任的应用程序部署和权限提升

如果当前发行者不是受信任的发行者,信任关系管理器将使用“权限提升”来询问用户是否希望向应用程序授予更高的权限。 但是,如果管理员禁用了权限提升,应用程序则无法获得运行权限。 应用程序不会运行,也不会向用户显示任何通知。 有关权限提升的更多信息,请参见 保护 ClickOnce 应用程序

受信任的应用程序部署的局限性

使用受信任的应用程序部署,可以向通过 Web 或企业文件共享部署的 ClickOnce 应用程序授予更高的信任级别。 对 CD 上分发的 ClickOnce 应用程序,不必使用受信任的应用程序部署,因为在默认情况下,这些应用程序被授予完全信任权限。

请参见

任务

演练:手动部署 ClickOnce 应用程序

参考

Mage.exe(清单生成和编辑工具)