- Azure
- Azure DevOps
- UWP
Lorsque vous souhaitez industrialiser le build et le déploiement de votre application UWP, vous devez installer le certificat PFX sur un agent. Je vais vous montrer comment.
Depuis Visual Studio 2019, il n’y a plus de Self-signed certificates générés avec votre projet. Donc, tout d’abord, vous devez créer un fichier PFX pour signer votre application. Je vous recommande de suivre la documentation officielle pour le faire. Une fois votre certificat créé, exportez-le dans le dossier de votre choix.
Une fois fait, uploadez-le dans les fichiers sécurisés dans Pipelines > Library> Secure files. Dans ce tutoriel, le certificat s’appellera UWP-Pipeline.pfx
.
Pour installer votre fichier PFX, vous devez avoir le nom du fichier PFX que nous avons défini précédemment dans les fichiers sécurisés et son mot de passe associé. Pour y accéder en toute sécurité, nous devons créer un groupe de variables et stocker au moins le mot de passe. Si vous n’êtes pas familier avec cela, vous pouvez consulter mon précédent tutoriel à ce sujet.
Ajoutons ces deux paramètres dans un groupe de variables comme suit:
Notez que le groupe de variables s’appellera uwp-pipeline
.
Il est temps d’installer notre certificat sur l’agent pour pouvoir signer notre application UWP.
Tout d’abord, vous devez télécharger le fichier PFX à partir de votre fichier sécurisé:
pool:
vmImage: 'windows-latest'
variables:
- group: uwp-pipeline
steps:
- task: DownloadSecureFile@1
name: mySecureFile
displayName: 'Get the pfx file certificat'
inputs:
secureFile: '$(signingCert.secureFilePath)'
Le nom de variable mySecureFile
sera utilisé pour trouver le chemin d’accès au certificat téléchargé. La prochaine étape consiste à utiliser un script PowerShell pour installer le certificat dans le magasin de certificats de notre agent:
- task: PowerShell@2
inputs:
targetType: 'inline'
script: |
Write-Host "Start adding the PFX file to the certificate store."
$pfxpath = '$(mySecureFile.secureFilePath)'
$password = '$(signingCert.password)'
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()
Nous définissons d’abord deux variables $pfxpath
pour le chemin d’accès du fichier PFX que nous venons de télécharger et $password
le mot de passe qui lui est associé. Ensuite, nous ouvrons le magasin de certificats de notre utilisateur courant et installons le certificat.
Votre certificat est maintenant installé sur votre agent et prêt à être utilisé!
Sources:
Happy codding !