Gek*_*tek 4 c# msbuild certificate bamboo visual-studio
我有一个ClickOnce应用程序,我使用从Windows存储的证书签署清单(而不是程序集).在我的本地机器上的visual studio中,所有内容都很好.我有另一台计算机,我用于Bamboo集成测试,它无法正常工作.它在发布任务期间出现此错误:
错误MSB4044:"SignFile"任务未获得所需参数"CertificateThumbprint"的值.
我已经完成了研究,我看到的所有帖子都说需要将证书安装在正在构建的机器上.我已经这样做了.实际上,在同一台机器上我运行了一个可视化工作室构建/发布并且它工作正常,因此显然安装了证书.
另一个问题是我尝试使用cert文件引用而不是商店,它引起了其他问题.它使得在msbuild期间出现错误,即即使我关闭了程序集签名,也无法导入用于签署程序集的证书:
错误MSB3326:无法导入以下密钥文件:DummyKey.snk.密钥文件可能受密码保护.要更正此问题,请尝试再次导入证书或手动将证书导入当前用户的个人证书存储区.
这个文件没有密码,它被禁用,所以我不知道什么是错的.任何帮助都会很棒
代码签名证书安装在个人存储中.在构建计算机上 - 您是否为构建服务帐户安装了?请注意,签署程序集的强名称与Authenticode签署清单无关.
我只是花了一些时间在自己的ClickOnce清单上签名,最后让它工作.以下是我的调查结果的详细信息,以防他们帮助某人.
生成PFX文件时 - 您需要指定密码.
当PFX受密码保护时 - MSBuild将无法自动安装证书:
2618:无法导入以下密钥文件
即使您没有自动安装,CSPROJ文件仍然必须<ManifestKeyFile>指定(不仅仅是
<ManifestCertificateThumbprint>) - 否则MSBuild将不会正确调用SignFile任务:
4677:"SignFile"任务未获得所需参数"CertificateThumbprint"的值
您可以通过在命令中调用Microsoft SDKs\Windows\v7.0A\bin\signtool.exe来安装和签署证书- 但是您的CSPROJ具有明文密码.
项目>属性>签名>从文件中选择似乎是最佳路线.但是,必须为每个帐户手动执行这些步骤,以便您可以输入步骤1中的密码并将证书存入个人存储区.
验证魔法的最简单方法:下载ClickOnce下拉, 右键单击setup.exe>属性>数字签名>您的证书.
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |