首页 > 解决方案 > 使用代码签名证书对 ClickOnce 应用程序进行签名,但发布者仍然未知

问题描述

我有 2 个代码签名证书,两者CSR的创建方式相同,导入和导出也以相同的方式完成。我看到的唯一区别是其中一个证书Common name包含引号,而另一个不包含引号。

例如 some certsome "cert"

企业社会责任创建

进口

出口

误导的事情是这个Common name值不是从我创建CSR请求时输入的值中获取的

我正在使用这些证书来签署Winforms应用程序Visual Studio。没有引号的证书common name工作正常(即,当我安装应用程序时,用户没有收到关于 的安全警告unknown publisher),但是当我安装使用其他代码签名证书(带有引号Common name)签名的应用程序时 - 它无法识别Publisher。发布我的应用程序时没有错误。当我查看setup.exe属性时,Windows Explorer我看到一个Digital signatures选项卡,其中包含我的证书行。

我尝试使用 signtool 对文件进行签名,然后进行验证 - 它说证书是有效的。

我试图从我购买证书的 godaddy.com 获得帮助,他们说它也应该与报价一起使用,但没有提供解决问题的帮助。Rekey也没有帮助。

我看到有一些建议使用 Pre Publish、Post Build 任务,但我没有将这些建议用于我的第一个有效的证书。

那么,这里有没有人使用代码签名证书来Winforms申请带有common name引号的应用程序?或者也许有人知道这个问题以及如何解决它?

标签: visual-studiowinformsclickoncecode-signing-certificate

解决方案


必须撤消(考虑common name创建 CSR 时输入的内容,因此重新输入密钥是不够的!)我的代码签名证书并从头开始创建,公司名称中没有引号/括号

所以这意味着,您将不得不再次等待几天,因为验证过程是从头开始的。当发行人与您联系时,他们将验证/询问您公司名称 - 确保它们不包含引号/括号。

撤销意味着您基本上将不得不再次购买您的证书,因为在您的帐户中撤销它(至少在 Godaddy 的情况下)后,您将无法再次创建它。因此,您必须联系支持人员(使用呼叫中心而不是聊天;)


推荐阅读