Identité persistante MSIX

Cette fonctionnalité permet de signer des packages avec un nouveau certificat tout en conservant l’expérience de mise à jour de l’application. En d’autres termes, cela permet au package de conserver son ancienne identité de package dans la plateforme sans avoir à se connecter avec l’ancien certificat (original). à partir de Windows Insider Preview Build 22000, un artefact doit être créé pour afficher la relation entre l’ancien certificat et le nouveau certificat utilisé pour la signature. Vous trouverez ci-dessous une explication pas à pas de la façon de conserver avec l’identité du package pour maintenir l’expérience de mise à jour.

Conditions requises

  • obtenez MakeAppx.exe par le biais du SDK Windows. cette fonctionnalité est actuellement disponible dans la SDK Windows Preview 22000
  • obtenez SignTool.exe par le biais du SDK Windows. cette fonctionnalité est actuellement disponible dans la SDK Windows Preview 22000
  • Ancien certificat (CN = Old) qui a été utilisé pour signer le package d’origine
  • Nouveau certificat (CN = nouveau) qui sera utilisé pour signer le package

Procédure

Il s’agit d’une instruction pas à pas sur la façon de signer votre package avec le nouveau certificat tout en conservant l’identité du package.

Créer l’artefact

  1. Écrivez l’artefact XML détaillant l’ancien et le nouvel éditeur. Nommez-le, artifact.xml :
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns=http://schemas.microsoft.com/appx/publisherbridging/2021 Old="CN=Old" New="CN=New" />
  1. Écrivez un fichier de définition de catalogue (CDF) pour créer le catalogue qui sera utilisé pour signer l’artefact. Nommez-le comme artefact. CDF :
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256

[CatalogFiles]
<HASH>artifact.xml=artifact.xml
  1. Exécutez makecat.exe sur ce CDF. Il crée le fichier spécifié dans celui-ci.
makecat.exe artifact.cdf
  1. Signer le catalogue à l’aide de l’ancien certificat
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat

À ce stade, il vous suffit de conserver les fichiers XML et CAT après cela. Vous pouvez créer plusieurs artefacts, mais la plateforme prend actuellement en charge jusqu’à 5.

Notes

Nous vous recommandons d’horodater votre fichier catalogue. Si le catalogue n’est pas horodaté, l’artefact devient inutilisable au moment de l’expiration de l’ancien certificat.

Créer le package

  1. Créez un fichier de pontage d’éditeur pour indiquer makeappx.exe les artefacts à utiliser. Ce fichier est semblable au fichier de mappage. Nommez-le tout ce que vous aimez, artifacts.txt
[PublisherBridging]
"artifact.xml" "artifact.cat"

Chaque ligne doit contenir une paire de chemins d’accès aux fichiers XML et CAT. Les artefacts doivent être ordonnés lorsqu’ils sont appliqués. Si vous avez deux artefacts un pour passer Publisher1->publisher2, et un autre pour publisher2->Publisher3, vous devez d’abord en afficher un pour Publisher1->publisher2

  1. Appelez makeappx.exe avec l’indicateur /PB pour pointer vers le fichier de pontage de l’éditeur :
makeappx.exe /p app.msix /d .\app\ /pb artifacts.txt
  1. Signer votre package à l’aide du nouveau certificat
signtool.exe sign /f new-cert.pfx /fd SHA256 app.msix

Vous disposez maintenant d’un package qui contient les artefacts stockés dans celui-ci et qui ont été signés avec le nouveau certificat. Vous pouvez déployer le package comme n’importe quel autre package MSIX.

Considérations

  • Nous vous recommandons d’horodater le catalogue. Pour ce faire, vous devez ajouter ces arguments dans l’appel à SignTool avant le chemin d’accès au catalogue:/TD SHA256/TR

  • Vous devrez toujours installer l’ancien certificat (recommandé avec horodateur) sur l’ordinateur pour que la plateforme installe le package qui a été signé par le nouveau certificat.

  • Pour tirer parti de cette fonctionnalité, vous devez effectuer cette opération avant l’expiration de l’ancien certificat.

  • Cette fonctionnalité fonctionne pour les packages MSIX et les offres groupées MSIX