有关它的更多信息,您可以在这里阅读: https://docs.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=vsts&tabs=yaml
在Azure的关键文件库中,我有一个秘密列表和一个证书列表。
密钥库机密示例:
示例证书:
现在,我可以通过简单的语法作为释放这些变量的变量来访问:
我的目标是读取位于变量$(GlobalCertificate)
中的证书的缩略图。如何获得它?
答案 0 :(得分:1)
我知道这很老了,但是我发现这篇文章正在寻找相同的东西,却无法在其他地方找到解决方案。
我已经可以使用Powershell对其进行分类,但是考虑到我们已经将PFX上传到密钥库中,这是很奇怪的。我也将我的pfx密码保存到keyvault中,但是如果不这样做,请用您自己的值替换$pwd
行中的变量。
在Azure DevOps管道中,创建Powershell任务。脚本是:
#Convert the Secure password that's presented as plain text back into a secure string
$pwd = ConvertTo-SecureString -String $(GlobalCertificate-Password) -Force -AsPlainText
#Create PFX file from Certificate Variable
New-Item Temp-Certificate.pfx -Value $(GlobalCertificate)
#Import the PFX certificate from the newly created file and password. Read the thumbprint into variable
$Thumbprint = (Import-PfxCertificate -CertStoreLocation Cert:\CurrentUser\My -FilePath Temp-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"