Visual studio 2012 通过ClickOnce使用EV证书

Visual studio 2012 通过ClickOnce使用EV证书,visual-studio-2012,certificate,clickonce,signtool,symantec,Visual Studio 2012,Certificate,Clickonce,Signtool,Symantec,我的公司从赛门铁克购买了电动汽车证书,用于我们生产的软件产品。具体来说,它被称为:赛门铁克3类扩展验证代码签名CA–G2 为了开发和构建此产品,我们使用Visual Studio 2013,并使用ClickOnce作为发布和安装机制。我们遇到的问题是ClickOnce无法使用其内置的签名机制应用EV证书。ClickOnce可以很好地查看证书,并允许我们使用“从存储中选择…”按钮选择它。它在证书窗口中显示所有正确的信息。但当我们发布时,会遇到以下错误: “签名时出错:未能对bin\Release\

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

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

“签名时出错:未能对bin\Release\app.publish\setup.exe进行签名。签名工具错误:发生意外的内部错误。”

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


有人有过EV证书和ClickOnce组合的经验吗?我们是否应该购买一种与ClickOnce更有效的电动汽车证书?

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

HKEY_LOCAL_机器/系统/CurrentControlSet/Control/Cryptography/Providers/SafeNet智能卡密钥存储提供商/别名

该值应为“eToken Base Cryptographic Provider”,而不是“eToken Base Cryptographic Provider”(“p”而不是“c”)

正如评论中所说的,更改后必须重新启动

希望有帮助。

无法评论(没有足够的代表)。我花了很长时间进入这个页面,所以我想为以后来这里的人添加以下信息

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

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

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

只有在签署sha256时才会发生这种情况(对我们来说)。sha1工作得很好

@Max的回答(注册表项中的输入错误是正确的。这是SafeNet身份验证客户端8.2版安装程序中的一个错误。我更改了注册表项,重新启动,一切都开始工作


它在9.0版本(适用于Win8+)时已修复.

我假设您在硬件eToken中收到证书。您是否使用SafeNet驱动程序使用它?是的,我们有一个硬件eToken,并且正在使用SafeNet驱动程序。我们知道这些正在工作,因为我们可以使用SignTool.exe和Mage.exe毫无问题地绑定EV证书。SafeNet还与SignTool和Mage一起工作除了ClickOnce certifiactes签名之外,没有其他问题,但是更改注册表值似乎解决了这个问题。非常好。谢谢Max。我在我的机器上更正了注册表项,并且尽可能地修复了这个问题。我不能100%确定,因为我的环境中有太多其他事情发生了变化,我现在无法重新创建原始的失败。但如果这为您解决了问题,我相信在我的情况下也会解决。至少我有足够的信心将此标记为答案。感谢您宝贵的输入。回答很好。仅供参考,在更改后我不得不重新启动我的机器(我想我也可以杀死/重置后台运行的各种SafeNet EXE).这个答案救了我的命!