ClickOnce 代码签名:“从商店中选择”还是“从文件中选择”?

Posted

技术标签:

【中文标题】ClickOnce 代码签名:“从商店中选择”还是“从文件中选择”?【英文标题】:ClickOnce Code Signing: "Select from Store" or "Select from File"? 【发布时间】:2013-04-11 09:21:15 【问题描述】:

当您转到 Click Once 应用程序的项目设置的签名页面时,有两个选项:

从商店中选择 从文件中选择

我们已在所有开发人员机器和构建机器上安装了我们的证书。

因此,我们可以选择其中任何一个,但如果我们选择“从文件中选择”,它会将 PFX 文件复制到项目中。 (有趣的是,如果证书在您的证书存储中,即使您从项目中删除 pfx 文件,发布也可以正常工作。

所以目前,我们总是选择“从商店中选择”,效果很好。

但是我们做得对吗?或者有什么理由我们应该使用“从文件中选择”来代替? “从文件中选择”是否仅适用于您的商店中没有证书的情况?

【问题讨论】:

【参考方案1】:

我认为这两种方式都不重要。

如果您在所有这些机器上都没有证书,那么通过执行“从文件中选择”并将 .pfx 检入源代码控制中会更快。

我们限制了对 .pfx 密码的访问权限,因此这是另一回事。我们还需要在构建后更改清单文件。因此,我们不在构建时启用代码签名,而是在构建后过程中使用共享上的 .pfx 对事物进行签名。构建自动化会从其日志中隐藏密码,因此实际上没有开发人员知道密码。

所有三种方式(从文件、从存储、构建后)最终都会让您签署清单。每种方式都有其优缺点,具体取决于公司政策。

【讨论】:

以上是关于ClickOnce 代码签名:“从商店中选择”还是“从文件中选择”?的主要内容,如果未能解决你的问题,请参考以下文章

C# clickonce用处

签名的 ClickOnce 应用程序给出“无法验证发布者”

手动更新已签名的 ClickOnce 应用程序会引发 TrustNotGrantedException

使用 makecert/pvk2pfx 时,ClickOnce 签名者的证书对签名无效

Clickonce 使用过期证书发布

.NET 4 ClickOnce 过期证书