相关疑难解决方法(0)

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

我们刚刚将Visual Studio 2008项目升级到Visual Studio 2010.我们使用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代码签名.

passwords visual-studio-2010 pfx visual-studio

384
推荐指数
10
解决办法
21万
查看次数

在MSBuild,Team Build和TFS中使用PFX文件对程序集进行签名

尝试使用TFS 2010 上的Team Build(MSBuild)构建项目时出现此错误:


C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
无法导入以下密钥文件:CCC.pfx.
密钥文件可能受密码保护.

要更正此问题,请尝试再次导入证书,或使用以下密钥容器名称手动将证书安装到强名称CSP:VS_KEY_C00C673BBB353901

C:\ Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1970):
导入密钥文件"CCC.pfx"已取消.


它在Visual Studio 2010中构建正常.程序集使用PFX文件进行签名.通常在Visual Studio中,我们会在第一次构建时提示输入密码,但之后再也不会...

我试过跑:

sn -i companyname.pfx VS_KEY_3E185446540E7F7A 
Run Code Online (Sandbox Code Playgroud)

正如Stack Overflow问题中建议的其他回复无法导入密钥文件'blah.pfx' - 错误'密钥文件可能受密码保护'.我已尝试按Stack Overflow问题中的建议导入个人证书存储区使用MSBuild对ClickOnce或程序集结果进行错误MSB3321签名.但一切都无济于事,仍然是同样的错误.

我该怎么做?我是否必须以某种方式将证书添加到构建服务运行的Windows帐户或类似的东西?

或者,如何在Team Build中完成构建而不使用签名?我只是想检查它编译并运行单元测试.我不需要签名.

msbuild code-signing tfsbuild

20
推荐指数
3
解决办法
2万
查看次数

使用MSBuild对ClickOnce或程序集进行签名导致错误MSB3321

我在Visual Studio 2008中设置了我的简单项目以使用ClickOnce安装程序.我已经指定ClickOnce清单应该由我们的comapny的PFX文件签名.当我在Visual Studio中设置它时,它要求输入PFX文件的密码,我很乐意提供.当我在Visual Studio中构建和发布时,一切正常.它也可以在我的机器上使用MSBuild进行精细构建.

但是,当我尝试在我们的构建机器上使用MSBuild构建它时,我收到以下错误:

ERROR MSB3321 in 
    C:\WINDOWS\Microsoft.NET\Framework\v3.5\Microsoft.Common.targets(1805,7)
    : Importing key file "ourCertificate.pfx" was canceled (sic).
Run Code Online (Sandbox Code Playgroud)

经过一些搜索,我发现了一些信息,说这是因为我没有提供密码.但我找不到在构建机器上提供密码的方法.我也看到了安装Visual Studio的建议,并在Visual Studio中提供了一次密码,之后它将在MSBuild中运行.但我真的想避免在构建机器上安装Visual Studio.

我曾尝试双击PFX文件导入它并在询问时输入密码,但这没有帮助.

如果我在Visual Studio中选中"签署程序集"并提供相同的PFX文件,则会发生同样的情况.

我该如何解决这个问题?是否有手动方式在构建机器上存储密码?

.net msbuild clickonce code-signing

6
推荐指数
1
解决办法
6456
查看次数

Visual Studio团队服务部署/构建证书错误

我正在尝试使用VSTS中的持续集成和部署功能构建一次性点击应用程序(Visual Studio团队服务在线)我们正在尝试使用Hosted代理构建这个Visual Studio 2015我们在使用一个强名称密钥文件签名时遇到了困难的错误

MSB3326: Cannot import the following key file: xxxx.snk. The key file may be password protected. To correct this, try to import the certificate again or import the certificate manually into the current user's personal certificate store. 在那之后

MSB3321: Importing key file "xxxx.pfx" was canceled.

我试图从商店和文件中选择更改位置并确保提交但没有成功.任何想法我如何克服这些错误或做错了什么.

选择答案的Clerification

只是想澄清是否有其他人有同样的问题,除了答案我必须将我的证书放在我的源代码控制代码中并提交它.然后选择其位置在VSTS Build上添加一个全局变量

在此输入图像描述

$cert.Import("$(CertPath)", $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet") 其中$(CertPath)就像是 $(Build.SourcesDirectory)\SharedSolutionFiles\CertificateName.pfx

azure-devops azure-pipelines-build-task azure-pipelines

6
推荐指数
1
解决办法
3432
查看次数