【问题标题】:Signing ClickOnce application with code signing certificate, but publisher still unknown使用代码签名证书对 ClickOnce 应用程序进行签名,但发布者仍然未知
【发布时间】:2019-10-16 13:00:56
【问题描述】:

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

例如 some certsome "cert"

创建企业社会责任

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

导入

  • 将所有证书放在个人存储中

导出

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

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

    【讨论】:

    • P.S.仅供参考 - 在通过电话支持讨论此主题时, 可以在不支付第二次费用的情况下获得新证书。但是聊天的支持人员我没能商量好,虽然这个人其实一开始就建议吊销我的证书……
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-23
    • 1970-01-01
    相关资源
    最近更新 更多