我在stackoverflow上彻底研究了这个问题,我看到了很多答案,但它们都没有为我们工作过。我们最近从comodo购买了一个代码签名证书,我们将用它来签署我们的c#WPF .net4应用程序。
我们已按照following URL上的说明进行操作
然后在视觉工作室中导入证书,在'项目属性 - >唱歌 - >签署组件'。然后我们尝试构建项目并得到以下错误:
无法导入以下密钥文件:comodo.pfx。密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书,手动将证书安装到具有以下密钥容器名称的强名称CSP:VS_KEY_xxxxxxxxxxxxxxx。
我们在互联网上找到了许多解决方案,并尝试了以下方法:
在.csproj文件的一节中添加:
已下载http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8并在错误上点击了“应用修正”
到目前为止我们没有成功。我们可以使用密码导入密钥,因此我们知道密码是正确的。我们也知道这适用于在clickonce发布中签署清单。为了确保我们没有任何其他问题,我们关闭了cilckonce签名并且只是试图签署大会。
答案 0 :(得分:14)
您只需打开“ 项目> 属性> 签名 ”并取消选中“签名” ClickOnce显示“复选框。
答案 1 :(得分:11)
我了解到Visual Studio似乎没有很好地处理从属证书。
我在多台机器上尝试了多个证书(不同的OS / VS组合),结果相同。
我终于找到了这是一个解决方法:
使用
对程序集进行签名 signtool sign /f "[path to pfx]" /p [password] /v "[path to assembly]"
使用mageUI构建安装程序(请参阅“Manually Deploying a ClickOnce Application”)
Visual Studio的问题似乎是它不喜欢证书链接。这可以通过导入/导出证书而不进行链接来解决。 using the certutil and export with the AT_SIGNATURE解决了下一个问题。我能够将它导入VS并构建,但它似乎没有签署程序集。
答案 2 :(得分:9)
我得到了类似的错误。通过从Windows资源管理器中的上下文菜单中选择安装PFX 来解决此问题。
答案 3 :(得分:3)
我能想到的最佳解决方案是去Project - >属性 - >选择强名称密钥文件下拉列表,然后选择“新建” - >创建密钥,然后转到顶部的证书部分 - >单击从文件中选择,然后选择您创建的新密钥 - >构建解决方案 - >发布。
答案 4 :(得分:1)
另一个'为我工作' ...
在Windows资源管理器中右键单击PFX,选择安装PFX'并在向导中提供了密码。然后在VS的项目属性中,在'签名'选择了更改密码'并重新输入密码。在此之前,只有以管理员身份运行VS才能正常工作。
答案 5 :(得分:0)
对于我的工作, 首先双击安装证书。然后,
项目属性 - >签名 - >如果'签署ClickOnce清单'检查 - >点击'从文件中选择'并选择.pfx文件,它应显示所有证书有效的详细信息,如发布,发布,预期目的等。
答案 6 :(得分:0)
我有同样的问题。我正在许多计算机上用拇指驱动器构建应用程序,并认为这是原因。
我找到了成功的" sn -i [comodo] .pfx VS_KEY_xxxxxxxxxxxxx"方法。 我做了以下步骤:
当我在没有运行" Developer Command Prompt"作为管理员,我在运行时获得帮助显示文字" sn -i mykey.pfx VS_KEY_xxxxxxxxxxxxx"它不起作用。诀窍是确保我以管理员身份运行开发提示。
对于上下文,我使用的是VS Community 2013.5,Window 7 x64 Professional和.NET Framework 4.7
答案 7 :(得分:0)