答案 0 :(得分:14)
以管理员身份运行Visual Studio为我解决了这个问题。
答案 1 :(得分:13)
我有同样的问题。只需使用Visual Studio命令提示符中的signtool
即可。有时signtool
会声称您的密码无效,但通常经过几次尝试后,它才会开始为我工作。
signtool.exe sign /f YOURCERT.pfx /p YOURPASSWORD YOURTARGET.exe
答案 2 :(得分:9)
如果您希望Visual Studio自动签署文件并使用ClickOnce,那么我就必须这样做:
获取OpenSSL的副本。它是available for Windows。或者使用Linux盒子,因为他们几乎都拥有它。
运行以下命令以导出到密钥文件:
openssl pkcs12 -in certfile.pfx -out backupcertfile.key
openssl pkcs12 -export -out certfiletosignwith.pfx -keysig -in backupcertfile.key
然后在项目属性中,您可以使用PFX文件。
答案 3 :(得分:1)
这对我有用。
首先尝试使用为项目启用的密钥签名选项构建项目。构建将失败,转到'输出'窗口,您将看到如下错误:
错误1无法导入以下密钥文件:MyKey.pfx。该 密钥文件可能受密码保护。要更正此问题,请尝试导入 再次证书或手动将证书安装到Strong 使用以下密钥容器名称命名CSP: VS_KEY_7B9423FE45F4DBEB Project.SomeName
保存密钥库名称(例如VS_KEY_7B9423FE45F4DBEB),稍后您将需要它。
现在请按照以下步骤操作:
Visual Studio Command Prompt (2010)
快捷方式(x64,如果您在x64计算机上)作为管理员(右键单击Visual Studio 2010命令提示符快捷方式并选择以管理员身份运行)。这应该使用Visual Studio环境设置打开管理命令提示符。 (不是常规命令提示符)sn -d VS_KEY_xxxx
sn -i xxx.pfx VS_KEY_xxxx
,在提示时输入密码,如果是数字证书则输入xxx.pfx