ClickOnce:当应用已签名时,安装程序中显示的未知发布者



我已经在Visual Studio上使用ClickOnce发布了一个基本的未签名Windows表单应用程序。我获取了.exe文件和 .exe.config 文件,并将其移动到桌面上的文件夹中。我使用合法的 digiCert 签名工具对.exe文件进行了签名,并使用 MageUI 创建了应用程序清单和部署清单,并使用相同的签名工具对其进行了签名。我将所有文件移动到我希望用户从中下载的FTP服务器。当我在浏览器中输入 URL 时,一切正常,但它提示我安装,并说发布者未知。单击安装后,应用程序将按预期运行。

此外,我已将证书添加到受信任的发布者存储中,并验证证书的颁发者是否位于中间证书颁发机构存储中,其颁发者是否位于根证书颁发机构存储中。

我还使用记事本打开了部署和应用程序清单,可以在它们上面看到我的签名,并且我可以看到我的.exe文件已签名,方法是右键单击它并选择属性,然后选择签名选项卡。

我已按照本网站中概述的步骤进行操作:https://robindotnet.wordpress.com/2013/02/24/windows-8-and-clickonce-the-definitive-answer-2/

我使用了:"#1:发布后对应用程序可执行文件进行签名"步骤。

所以我的主要问题是为什么当我下载并运行 .application 文件时说发布者未知?

注意:SmartScreen 筛选器未将我的应用视为不安全

我(可悲的是)有同样的问题。

自 1 年以来,Microsoft不再接受 SHA-1 证书。 2016年1月:Windows强制执行Autheticode:

代码签名证书:Windows 将不再信任使用 SHA-1 代码签名证书签名且时间戳在 2016 年 1 月 1 日之后的具有 Web 标记属性的文件。除了向打算仅为 Windows Vista、Windows Server 2008 开发应用程序的开发人员颁发证书外,CA 不得在 2016 年 1 月 1 日之后颁发新的 SHA-1 代码签名证书。

我尝试使用 SHA256 哈希和 SHA2 时间戳证书进行签名,但这还不够。我不明白的是,为什么未签名的exe受到的威胁与智能屏幕中的签名SHA1 exe一样安全!

另一个答案告诉你发生了什么,这就是对我有用的东西。 我为我的 CI 管道调整了另一个工作,但该脚本可以以任何身份使用:

https://github.com/erikest/SignClickOnce

相关内容

最新更新