带有以下代码的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()