如何在 CI 服务器上安装 dotnet dev-certs 证书

问题描述 投票:0回答:2
我想使用

dotnet run

 运行我的 API,这样我就可以针对它运行一些测试。但是,在 Azure Pipelines 和 AppVeyor 上,它们没有安装开发人员证书,并且当我尝试启动 API 时收到错误。安装开发者证书涉及运行:

dotnet dev-certs https --trust

但是,这会显示一个对话框,用户必须单击该对话框,这会导致构建失败。如何在 CI 服务器上安装开发者证书?

.net certificate azure-pipelines dotnet-cli dotnet-dev-certs
2个回答
9
投票
您可以在应用程序中使用自己的证书(aspnet core

listenOptions.UseHttps(new X509Certificate2(...));

)或使用以下命令导出 dotnet 开发证书:

dotnet dev-certs https --export-path <path> [--password <pass>]

这将生成您需要的证书。 您可以使用 powershell 手动信任此证书,如下所述:

https://stackoverflow.com/a/49444664/1216595 或者 https://stackoverflow.com/a/21001534/1216595


0
投票
接受的答案为我指明了正确的方向,但这是我最终得到的完整 PowerShell 脚本:

$pfxPath = Join-Path -Path $(Agent.TempDirectory) -ChildPath 'cert.pfx' $password = (New-Guid).ToString("N") dotnet dev-certs https --export-path $pfxPath --password $password -v $securePassword = ConvertTo-SecureString $password -AsPlainText -Force Import-PfxCertificate -FilePath $pfxPath -Password $securePassword -CertStoreLocation Cert:\LocalMachine\Root
    
© www.soinside.com 2019 - 2024. All rights reserved.