使用代码签名证书签署ClickOnce应用程序,但发布者仍然未知

时间:2019-05-30 21:00:50

标签: visual-studio winforms clickonce code-signing-certificate

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

例如 some certsome "cert"

创建CSR

  • 请求格式PKCS#10
  • 禁用“强私钥加密”
  • 输入的通用名称,组织,位置,州,国家/地区
  • 私钥的2048个字节
  • 设置可导出的私钥

导入

  • 将所有证书放在“个人商店”中

导出

  • 如有可能,请包括所有证书
  • 启用证书隐私
  • 加密算法TripleDES-SHA1

具有误导性的是,这个Common name值不是我在创建CSR请求时输入的值中提取的

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

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

我试图从Godaddy.com购买证书的地方寻求帮助,他们说证书也应使用引号,但没有提供解决问题的帮助。 Rekey也无济于事。

我看到有一些建议可以使用“发布前”,“构建后”任务,但是我没有将它们用于我的第一个有效的证书。

那么,这里有没有人使用Winforms的{​​{1}}应用程序的代码签名证书呢?也许有人知道这个问题以及如何解决?

1 个答案:

答案 0 :(得分:0)

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

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

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