我正在尝试使用PFX文件在Visual Studio 2010中签署程序集 . 输入私钥密码后,我得到:
尝试引用不存在的令牌
我该如何解决这个问题?
我也有同样的问题 . 只需使用Visual Studio命令提示符中的 signtool 即可 . 有时 signtool 会声称您的密码无效,但通常经过几次尝试后它才开始为我工作 .
signtool
signtool.exe sign /f YOURCERT.pfx /p YOURPASSWORD YOURTARGET.exe
以管理员身份运行Visual Studio为我解决了这个问题 .
如果您希望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文件 .
这对我有用 .
首先尝试使用为项目启用的密钥签名选项构建项目 . 构建将失败,转到“输出”窗口,您将看到如下错误:
错误1无法导入以下密钥文件:MyKey.pfx . 密钥文件可能受密码保护 . 要更正此问题,请尝试再次导入证书,或使用以下密钥容器名称手动将证书安装到强名称CSP:VS_KEY_7B9423FE45F4DBEB Project.SomeName
保存密钥库名称(例如VS_KEY_7B9423FE45F4DBEB),稍后您将需要它 .
现在请执行以下步骤:
在Windows证书存储区中导入数字证书密钥(PFX) . 在Windows资源管理器中双击PFX密钥并将其安装/导入密钥存储区(我实际上通过选择手动选择存储将其导入受信任的根证书存储区) .
以常规用户身份启动Visual Studio 2010(我不会以管理员身份面对此密钥签名问题,但我想以用户身份调试我的应用程序)(在整个过程中保持打开状态)
从“开始”菜单中打开 Visual Studio Command Prompt (2010) 快捷方式(x64,如果您在x64计算机上)作为管理员(右键单击Visual Studio 2010命令提示符快捷方式并选择以管理员身份运行) . 这应该使用Visual Studio环境设置打开管理命令提示符 . (不是常规命令提示符)
Visual Studio Command Prompt (2010)
在命令提示符下,从您在开头保存的错误消息中输入带有密钥库名称的 sn -d VS_KEY_xxxx
sn -d VS_KEY_xxxx
然后输入 sn -i xxx.pfx VS_KEY_xxxx ,在提示时输入密码,如果是数字证书则输入xxx.pfx
sn -i xxx.pfx VS_KEY_xxxx
返回Visual Studio并重建项目
4 回答
我也有同样的问题 . 只需使用Visual Studio命令提示符中的
signtool
即可 . 有时signtool
会声称您的密码无效,但通常经过几次尝试后它才开始为我工作 .signtool.exe sign /f YOURCERT.pfx /p YOURPASSWORD YOURTARGET.exe
以管理员身份运行Visual Studio为我解决了这个问题 .
如果您希望Visual Studio自动签署文件并使用ClickOnce,这就是我必须做的事情:
获取OpenSSL的副本 . 这是available for Windows . 或者使用Linux盒子,因为他们几乎都拥有它 .
运行以下命令以导出到密钥文件:
然后在项目属性中,您可以使用PFX文件 .
这对我有用 .
首先尝试使用为项目启用的密钥签名选项构建项目 . 构建将失败,转到“输出”窗口,您将看到如下错误:
保存密钥库名称(例如VS_KEY_7B9423FE45F4DBEB),稍后您将需要它 .
现在请执行以下步骤:
在Windows证书存储区中导入数字证书密钥(PFX) . 在Windows资源管理器中双击PFX密钥并将其安装/导入密钥存储区(我实际上通过选择手动选择存储将其导入受信任的根证书存储区) .
以常规用户身份启动Visual Studio 2010(我不会以管理员身份面对此密钥签名问题,但我想以用户身份调试我的应用程序)(在整个过程中保持打开状态)
从“开始”菜单中打开
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返回Visual Studio并重建项目