Photo par pxhere.com

Installez le certificat PFX de vos applications UWP sur votre Azure DevOps

Installez votre PFX sur votre agent Azure DevOps.

Posted by Damien Aicheh on September 18, 2019 · 3 mins

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.

Créer un fichier PFX

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.

Créer le groupe de variables

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:

Variables group

Notez que le groupe de variables s’appellera uwp-pipeline.

Installer le certificat

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 !

N'hésitez pas à me suivre sur pour ne pas rater mon prochain tutoriel !