【发布时间】:2013-02-23 10:22:35
【问题描述】:
我在 stackoverflow 上彻底研究了这个问题,我看到了很多答案,但没有一个对我们有用。我们最近从 comodo 购买了一个代码签名证书,我们将用它来签署我们的 c# WPF .net4 应用程序。
我们已按照following URL 上的说明进行操作
然后在 Visual Studio 中的“项目属性->唱歌->签署程序集”下导入证书。然后我们尝试构建项目并得到以下错误:
无法导入以下密钥文件:comodo.pfx。密钥文件可能受密码保护。要更正此问题,请尝试再次导入证书,手动将证书安装到具有以下密钥容器名称的强名称 CSP:VS_KEY_xxxxxxxxxxxxxxx。
我们在互联网上找到了许多解决方案,并尝试了以下方法:
- 点击更改密码并在所有 3 个地方使用相同的密码
- sn -i [comodo].pfx VS_KEY_xxxxxxxxxxxxx
- 尝试将其转换为无密码 snk 文件并使用该文件代替 .pfx
- 尝试以管理员身份运行 Visual Studio 并导入密钥
- 尝试创建非常简单的准系统项目并与之签约
- 尝试了 Visual Studio 2010 和 2012
- 我们尝试将以下内容添加到程序集中 [assembly: AssemblyKeyFile("path to key file")]
- 在 postbuild "C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\signtool.exe" 中添加了事件 sign /f "$(ProjectDir)[keyfile].pfx" /p [thepassword ] /v "$(ProjectDir)obj\Release\$(TargetFileName)"
在 .csproj 文件的一个部分中添加:
已下载http://visualstudiogallery.msdn.microsoft.com/a83505c6-77b3-44a6-b53b-73d77cba84c8 并在错误处单击“应用修复”
到目前为止,我们还没有成功。我们可以使用密码很好地导入密钥,这样我们就知道密码是正确的。我们也知道这对于在 clickonce 发布中签署清单非常有效。只是为了确保我们没有任何其他问题,我们关闭了 cilckonce 签名并只是尝试签署程序集。
【问题讨论】:
-
嘿拉吉。感谢您的回复,我尝试了所有这些解决方法,但均未成功。
-
当你尝试“sn -i [comodo].pfx VS_KEY_xxxxxxxxxxxxx”方法时,你得到帮助信息了吗?我做了,但没有成功,但是如果我以管理员身份运行“开发人员命令提示符”,它会要求我输入密码并且成功了。
标签: code-signing pfx