通过ClickOnce使用EV证书

时间:2014-08-21 17:21:22

标签: visual-studio-2012 certificate clickonce signtool symantec

我的公司从赛门铁克购买了EV证书,用于我们生产的软件产品。具体来说,它被称为: Symantec Class 3扩展验证代码签名CA-G2

要开发和构建此产品,我们使用Visual Studio 2013,并使用ClickOnce作为发布和安装程序机制。我们遇到的问题是ClickOnce无法使用它的内置签名机制来应用EV证书。 ClickOnce可以很好地查看证书,并允许我们使用“从商店中选择...”按钮进行选择。它在“证书”窗口中显示所有正确的信息。但是当我们发布时遇到以下错误:

签名时出错:无法签署bin \ Release \ app.publish \ setup.exe。 SignTool错误:发生了意外的内部错误。“

请注意,我们可以使用SignTool.exe从命令行应用EV证书,因此问题不在于该程序。

有没有人有EV证书和ClickOnce组合的经验?是否有我们应该购买的不同的EV证书可以更好地使用ClickOnce?

2 个答案:

答案 0 :(得分:14)

几天前我遇到了完全相同的问题,Digicert的售后服务已经能够解决它。尝试检查此注册密钥的值(在regedit中):

HKEY_LOCAL_MACHINE / SYSTEM / CurrentControlSet / Control / Cryptography / Providers / SafeNet智能卡密钥存储提供商/别名

值应为“eToken Base Cryptographic Provider”而不是“eToken Base Cryctographic Provider”('p'而不是'c')。

如评论中所述,您必须在更改后重新启动。

希望它有所帮助。

答案 1 :(得分:2)

无法发表评论(不够代表)。花了很长时间才到达这个页面所以我想为之后来到这里的人添加以下信息。

来自signtool的完整错误消息(用于搜索引擎查找此站点的目的)是:

  

SignTool错误:发生了意外的内部错误

     

错误:SignerSign()失败。" (-1073741275 / 0xc0000225)

这只在签署sha256时发生(对我们而言)。 sha1工作正常。

@Max的回答(注册表项中的拼写错误。这是SafeNet Authentication Client版本8.2安装程序中的错误。我更改了注册表项,重新启动,一切都开始工作了。

自9.0版本(适用于Win8 +)以来已修复。