【问题标题】:Clickonce app is signed but publisher is still unknown when downloadingClickonce 应用程序已签名,但下载时发布者仍然未知
【发布时间】:2020-06-17 13:52:13
【问题描述】:

我有一个有效的未过期代码签名证书(标准,而不是 EV),我曾使用该证书成功签署一次点击应用程序 (.net 4.5) 并发布到 Web 服务器以供下载。下载此应用程序时,它会正确显示发布者名称。问题是,在任何其他应用程序上安装代码签名证书后,它在下载时将发布者名称显示为“未知发布者”。我安装证书的方式没有任何区别,所有应用程序都发布到同一个 Web 服务器。当我登录到 Web 服务器时打开 .exe 或清单文件时,它会正确显示发布者名称。检查“数字签名”文件属性表明它们使用正确的代码签名证书和 sha256 进行签名。以下是我使用的步骤:

  1. 已安装代码签名证书,可通过“签名”选项卡单击一次应用并启用 (Visual Studio 2017 Pro)。
  2. 代码签名算法是带有有效时间戳服务器 (http://timestamp.comodoca.com/?td=sha256) 的 sha256RSA。
  3. 应用程序集未签名后单击。
  4. 代码签名证书已安装在开发机器上(Windows 10 Pro 1809)。
  5. 代码签名证书已安装在“计算机帐户”的“受信任的根证书颁发机构”和“中间证书颁发机构”(Windows 2012 R2 使用 IIS 8)的 Web 服务器上。

附带说明,我使用 SHA1 从 Internet Explorer 导出代码签名证书,然后将其安装到 Web 服务器。有一个已知问题是,当证书已导出到 SHA256 并尝试将其导入 Web 服务器时,文件的密码总是会显示不正确。这发生在我身上,所以我只是将 SHA1 版本导入 Web 服务器。不确定这是否会产生任何问题,但它适用于 one clickonce 应用程序。

更新:如果我转到发布部署 URL 并单击“安装”按钮,我注意到一些特殊情况。在为带有“未知发布者”的 clickonce 应用程序下载 setup.exe 后,我看到一个更可怕的智能屏幕过滤​​器,说该文件未签名,但在其下方显示正确的发布者信息。检查 exe 的“数字签名”属性表明它已正确签名。

【问题讨论】:

  • 你能分享一下可执行文件吗?你是说你用 SHA-1 证书签署了你的应用程序?这些已被弃用。您可能会遇到这样的情况,即在弃用日期之前签署的内容只要未过期仍被接受,但在弃用日期之后签署的内容不被接受。
  • 如果您无法共享文件,您可以运行signtool verify /all old.exe new.exe 并发布结果吗?
  • 感谢 kichik 的回复。我在 setup.exe 上为所有应用程序运行了一个验证命令,每个应用程序都显示“SignTool 错误:已处理证书链,但以信任提供者不信任的根证书终止。”信息。我在“受信任的根证书颁发机构”商店中的 Web 服务器和本地计算机上安装了证书。
  • 您在受信任的存储中是否有根证书?谁创建了您的证书?
  • 我在“受信任的根证书颁发机构”存储中显示安装在本地计算机和 Web 服务器上的证书。我是使用通过 Internet Explorer 下载证书的记录过程创建证书的人。它由 Sectigo RSA 代码签名 CA 颁发,并查看所有证书属性,表明它是有效的。甚至不确定下一步该尝试什么。

标签: certificate clickonce iis-8 publisher


【解决方案1】:

我的问题是由于在 Visual Studio 中启用了“使用应用程序清单获取信任信息”选项时发布者名称与我的代码签名证书的颁发对象不匹配造成的。取消选中该选项或更正发布者名称可解决问题。这将在下面进一步解释:

检查您的应用程序清单是否用于信任信息(即发布者名称)。如果是,请确保“说明”部分中的发布者名称与颁发证书的人完全匹配。如果不匹配,您将收到“未知发布者”问题。此设置位于 Visual Studio 中的“发布”选项卡中。单击“选项...”按钮,然后单击“清单”列表项。

我会尝试取消选中“使用应用程序清单获取信任信息”,看看是否能解决问题。如果您确实需要选中“使用应用程序清单”选项,请单击“描述”选项卡并确保“发布者名称”值与代码签名证书颁发给的名称的值完全匹配。

【讨论】:

  • 我也遇到了同样的问题。不幸的是,仔细检查发布者名称以匹配证书并取消选中上述复选框对我不起作用。运行 signtool verify /pa /v setup.exe 显示链。但出版商仍然未知。有什么想法吗?
【解决方案2】:

我遇到了同样的问题 - 有效的 EV 证书 - 下载时发行商未知 - 但安装顺利,没有 Windows Smart 屏幕。

将构建工具从 VS2017 更改为 VS2019 似乎已修复它 -> 很高兴。

【讨论】:

    猜你喜欢
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多