Доступ к сертификату сертификата из группы переменных DevOps Azure, подключенной к хранилищам ключей - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть группы переменных библиотеки VSTS, подключенные к моим хранилищам ключей в Azure: enter image description here

Подробнее об этом вы можете прочитать здесь: https://docs.microsoft.com/en-us/azure/devops/pipelines/library/variable-groups?view=vsts&tabs=yaml

В ключевых хранилищах в Azure у меня есть список секретов и список сертификатов.

Пример секретов хранилища ключей:

  • AppInsightsInstrumentationKey
  • CacheConnectionString

Пример сертификата:

  • GlobalCertificate

Теперь я могу получить доступ к переменным при освобождении этих переменных, используя простой синтаксис:

  • $ (GlobalCertificate)
  • $ (AppInsightsInstrumentationKey)
  • $ (CacheConnectionString)

Моя цель - прочитать thumprint сертификата, локализованного в переменной $(GlobalCertificate).Как это получить?

1 Ответ

0 голосов
/ 01 мая 2019

Я знаю, что это старая версия, но я нашел эту статью в поиске того же самого и не смог найти решение где-либо еще.

Мне удалось разобраться с 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"
...