为了账号安全,请及时绑定邮箱和手机立即绑定

无法导入密钥文件'blah.pfx'-错误'密钥文件可能受密码保护'

无法导入密钥文件'blah.pfx'-错误'密钥文件可能受密码保护'

红糖糍粑 2019-11-04 15:38:07
我们刚刚将Visual Studio 2008项目升级到了Visual Studio2010。我们所有的程序集都使用Verisign代码签名证书进行了严格签名。自升级以来,我们不断收到以下错误:无法导入以下密钥文件:companyname.pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_3E185446540E7F7A这发生在某些开发人员机器上,而不是其他人。有时可以解决该问题的一些方法包括:从Windows资源管理器中重新安装密钥文件(右键单击PFX文件,然后单击“安装”)第一次在全新计算机上安装Visual Studio 2010会在您第一次打开项目时提示您输入密码,然后它会起作用。在从Visual Studio 2008升级的计算机上,没有此选项。我曾尝试使用SN.EXE实用程序(强名称工具)按照错误消息的提示向强名称CSP注册密钥,但是每当我使用Visual Studio 2010 SN附带的版本运行带有任何选项的工具时, .EXE仅列出其命令行参数,而不执行任何操作。无论我提供什么参数,都会发生这种情况。为什么会发生这种情况?有哪些明确的步骤可以解决此问题?我将放弃ClickOnce的安装和Microsoft代码签名。
查看完整描述

3 回答

?
三国纷争

TA贡献1804条经验 获得超7个赞

我也遇到了这个问题。我能够通过运行来解决问题

sn -i <KeyFile> <ContainerName>(将密钥对安装到命名容器中)。


sn通常作为Windows SDK的一部分安装。例如C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\sn.exe。此位置很可能不在标准环境的搜索路径中。但是,Visual Studio安装的“开发人员命令提示符”添加了通常包含正确位置的其他信息。


根据您的帖子,看起来像


sn -i companyname.pfx VS_KEY_3E185446540E7F7A


这必须从PFX文件的位置运行,如果您在VS 2010中加载了解决方案,则只需在解决方案资源管理器中右键单击pfx文件,然后选择“打开命令提示符”,这将在其中启动.net 2010 cmd提示工具。正确的目录。


在运行此sn命令之前,我确实通过右键单击pfx并选择install重新安装了pfx,但是该方法不起作用。只是要注意一点,因为这可能是提供解决方案的两者的结合。


希望这有助于解决您的问题。


查看完整回答
反对 回复 2019-11-04
?
倚天杖

TA贡献1828条经验 获得超3个赞

我发现了一个修复程序,可以帮助您在多开发人员环境中成功构建:

而不是更改密码(这将导致.pfx更改),而是从组合框中重新选择 .pfx文件。然后,这将调用密码对话框。输入密码后,项目将建立成功。每个开发人员都可以在本地计算机上执行此操作,而无需实际修改.pfx文件。

我仍然无法在我们的构建服务器计算机上对程序集进行签名。我在那里遇到了相同的错误,但是使用sn.exe -i方法不能解决buildserver的问题。


查看完整回答
反对 回复 2019-11-04
?
慕神8447489

TA贡献1780条经验 获得超1个赞

我遇到了同样的问题,删除商店后无法正常阅读。我必须执行以下操作。


获取OpenSSL的副本。它可用于Windows。或者使用Linux机器,因为他们几乎都拥有它。


运行以下命令以导出到密钥文件:


openssl pkcs12 -in certfile.pfx -out backupcertfile.key


openssl pkcs12 -export -out certfiletosignwith.pfx -keysig -in backupcertfile.key

然后,在项目属性中,您可以使用PFX文件


查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 1313 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信