如何:对应用程序和部署清单进行签名

使用 ClickOnce 部署,如果要发布应用程序时,应用程序和部署清单必须具有强名称使用公钥/私钥对和签名的。使用 Authenticode 技术。 使用 windows 证书存储区或密钥文件,可以对清单签名。

对 ClickOnce 清单进行签名对于基于 .exe 的应用程序是可选的。 有关更多信息,请参见 “生成未签名的清单” this 的部分。

有关创建密钥文件的信息,请参见 如何:创建公钥/私钥对

备注

Visual Studio 支持个人信息交换 (pfx) 具有 .pfx 扩展名只的密钥文件。但是,您可以选择其他类型从当前用户的 windows 证书存储区通过单击 从存储区选择项目设计器签名 页。有关更多信息,请参见 “项目设计器”->“签名”页

您可以使用您的应用程序,并部署清单通过在 项目设计器签名 页的选项卡。 有关更多信息,请参见 “项目设计器”->“签名”页

下面的过程适用于对应用程序,并部署清单。 如果要为程序集签名,请参见 如何:对程序集进行签名 (Visual Studio)

访问 " 签名 " 页

  1. 在项目节点被选中。 解决方案资源管理器,从 项目 菜单上,单击 属性 (或右击 " 解决方案资源管理器的项目节点,然后单击 属性)。

  2. 项目设计器,单击 签名 选项。

使用证书,若要对应用程序和部署清单

  1. 签名 页上,选择 对 ClickOnce 清单进行签名 复选框。

  2. 单击 从存储区选择 按钮。

    选择证书 将显示对话框和 windows 证书存储区的内容。

    提示

    如果单击 单击此处查看证书属性证书详细信息 出现对话框。此对话框包括有关证书的详细信息,包括附加选项。可以单击 证书 查看其他的帮助信息。

  3. 选择要用来对清单进行签名的证书。

  4. 此外,在 时间戳服务器 URL 文本框中指定时间戳服务器的地址。 这是提供一个时间戳的服务器,当清单进行签名时使用。

使用现有密钥文件,若要对应用程序和部署清单

  1. 签名 页上,选择 对 ClickOnce 清单进行签名 复选框。

  2. 单击 从文件选择 按钮。

    选择文件 出现对话框。

  3. 选择文件 " 对话框 对话框中,浏览到承载的密钥文件 (.pfx) 的位置要使用,然后单击 打开

    备注

    此选项仅支持具有 .pfx 扩展名的文件。如果您有一个密钥文件或证书在其他格式,请在 windows 证书存储区中并选择证书介绍在前面的过程。选定证书的用途应该包括代码签名。

    输入密码以打开文件 出现对话框。 (如果 .pfx 文件在 windows 证书存储区中存储或不受密码保护,不会提示您输入密码。)

  4. 输入访问密钥文件的密码,然后按 enter。

使用测试证书,若要对应用程序和部署清单

  1. 签名 页上,选择 对 ClickOnce 清单进行签名 复选框。

  2. 若要创建测试的新证书,请单击 创建测试证书 按钮。

  3. 创建测试证书 对话框中,输入密码保护测试证书。

生成未签名的清单

对 ClickOnce 清单进行签名对于基于 .exe 的应用程序是可选的。 下面的过程演示如何生成未签名的 ClickOnce 清单。

重要

未签名的清单可以简化开发和测试应用程序。但是,无符号在生产环境中带来重大的安全风险。仅考虑使用未签名的清单,如果您的 ClickOnce 应用程序在与 internet 或其他恶意代码源完全隔离的 Intranet 内的计算机上运行。

默认情况下,,除非一个或多个文件从生成的哈希,专门排除 ClickOnce 自动生成签名的清单。 换言之,应用程序会得到经过签名的发布意味着,如果所有文件都包含在哈希中,,即使清除 对 ClickOnce 清单进行签名 复选框。

生成未签名在生成的哈希中的清单并包含所有文件

  1. 若要生成包含哈希中所有文件的未签名的清单,则必须与签名时首先发布应用程序清单。 因此,请首先对 ClickOnce 执行下列过程之一来指示上面的过程,然后发布应用程序。

  2. 签名 页上,清除 对 ClickOnce 清单进行签名 复选框。

  3. 重置发布版本,以使应用程序仅有一个版本可用。 默认情况下, Visual Studio 都会自动递增发布版本的版本号您每次发布应用程序。 有关更多信息,请参见 如何:设置 ClickOnce 发布版本

  4. 发布应用程序。

生成未签名的清单并从生成的哈希中排除一个或多个文件

  1. 签名 页上,清除 对 ClickOnce 清单进行签名 复选框。

  2. 打开 应用程序文件 对话框并设置 哈希 到要从生成的哈希中排除的文件的 排除

    备注

    从哈希中排除文件配置 ClickOnce 禁用自动签名的清单,如前面的过程所示,因此,您不需要首先发布与签名的清单。

  3. 发布应用程序。

请参见

任务

如何:创建公钥/私钥对

参考

“项目设计器”->“签名”页

概念

具有强名称的程序集

ClickOnce 安全和部署