DevOps管道失败-无法导入密钥文件:[XXX] .pfx

时间:2020-02-18 22:47:03

标签: azure-devops azure-pipelines

我一直试图在Azure DevOps中创建生成管道。虽然我可以构建基本的控制台应用程序项目,但是在将pfx文件添加到项目应用程序时遇到了问题。

已为ClickOnce启用了控制台应用程序项目,该项目需要具有* .pfx密钥文件。

当我设置基本的构建管道时,它似乎继续失败。我收到此消息:

错误MSB3325:无法导入以下密钥文件:[XXXX] .pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_FE357D179B4A2D91

错误MSB3325:无法导入以下密钥文件:[XXXX] .pfx。密钥文件可能受密码保护。若要更正此问题,请尝试再次导入证书或使用以下密钥容器名称将证书手动安装到“强名称” CSP:VS_KEY_FE357D179B4A2D91

如何导入pfx以使构建成功? 感谢任何对此的见解/方向。

谢谢。

1 个答案:

答案 0 :(得分:1)

如果您要使PFX文件可用于管道,只需在主要任务之前添加Powershell任务

#Import the PFX certificate file and password. Read the thumbprint into variable
$Thumbprint = (Import-PfxCertificate -CertStoreLocation Cert:\CurrentUser\My -FilePath Certificate.pfx -Password $pwd).Thumbprint

Write-Host $Thumbprint

#Rest of Script below or set environment variable for rest of Pipeline
Write-Host "##vso[task.setvariable variable=Thumbprint]$Thumbprint"

如果需要,可以将指纹与最后一行一起传递到管道的其余部分,也可以在需要时对指纹进行硬编码。

我将证书存储在Azure KeyVault中。如果您愿意/也想这样做,请在此处发布一个帖子:Access certificate thumprint from Azure DevOps variable group connected to Key vaults