连续集成连续部署VSTS Build pipline在将最新到期日期添加到回购中的新.pfx文件后失败

时间:2018-08-14 04:24:06

标签: continuous-integration azure-devops devops azure-pipelines continuous-deployment

带有以下代码的CICD管道的powershell任务失败,并给出错误消息,提示错误APPX0108:指定的证书已过期。有关续订证书的更多信息,请参阅http://go.microsoft.com/fwlink/?LinkID=241478

新的测试证书在Visual Studio 2017中创建,有效日期为明年,并将新的证书(.pfx)文件推送到存储库中。我还更新了.csproj文件,以使用新证书的名称对其进行更新。所以现在我没有遇到powershel任务错误。

但是用于在管道中构建解决方案的构建任务会抛出相同的错误。是否有人曾经遇到过这样的错误? 这是PowerShell脚本

Param(
        [String]$pfxpath,
        [String]$password
    )


    if (-Not $pfxpath) {
        Write-Host "Certificate path not set"
        exit 1
    }

    if (-Not $password) {
        Write-Host "Password not set"
        exit 1
    }

    Add-Type -AssemblyName System.Security
    $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2
    $cert.Import($pfxpath, $password, [System.Security.Cryptography.X509Certificates.X509KeyStorageFlags]"PersistKeySet")
    $store = new-object system.security.cryptography.X509Certificates.X509Store -argumentlist "MY", CurrentUser
    $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]"ReadWrite")
    $store.Add($cert)
    $store.Close()

0 个答案:

没有答案