Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 paquet de conserver son ancienne identité de paquet dans la plateforme sans avoir besoin de signer avec l’ancien certificat (d’origine). À compter de Windows Insider Preview Build 22000, un artefact doit être créé pour montrer la relation entre l’ancien certificat et le nouveau certificat utilisé pour la signature. Vous trouverez ci-dessous une explication étape par étape de la persistance de l’identité du package pour maintenir l’expérience de mise à jour.
Spécifications
- Obtenez MakeAppx.exe via le SDK Windows. Cette fonctionnalité est actuellement disponible dans Windows SDK Preview 22000
- Obtenez SignTool.exe via le SDK Windows. Cette fonctionnalité est actuellement disponible dans Windows SDK Preview 22000
- L’ancien certificat (CN=Old) qui a été utilisé pour signer le package d’origine
- Le nouveau certificat (CN=Nouveau) qui sera utilisé pour signer le package
Parcours
Il s’agit d’une instruction étape par étape sur la façon de signer votre package avec le nouveau certificat tout en conservant l’identité du package.
Créer l’artefact
- Écrivez l’artefact XML détaillant l’ancien et le nouvel éditeur. Nommez-le comme vous le souhaitez, artifact.xml:
<?xml version="1.0" encoding="UTF-8"?>
<Publisher xmlns="http://schemas.microsoft.com/appx/publisherbridging/2021" Old="CN=Old" New="CN=New" />
- Rédigez un fichier de définition de catalogue (CDF) pour créer le catalogue qui sera utilisé pour signer l’artefact. Nommez-le comme vous voulez, artifact.cdf :
[CatalogHeader]
Name=artifact.cat
CatalogVersion=2
HashAlgorithms=SHA256
[CatalogFiles]
<HASH>artifact.xml=artifact.xml
- Exécutez makecat.exe sur ce CDF. Il créera le fichier qui y est spécifié
makecat.exe artifact.cdf
- Signer le catalogue à l’aide de l’ancien certificat
signtool.exe sign /f old-cert.pfx /fd SHA256 artifact.cat
À ce stade, vous n’avez qu’à conserver les fichiers XML et CAT. Vous pouvez créer plusieurs artefacts, mais la plateforme en prend actuellement en charge jusqu’à 5.
Remarque
Nous vous recommandons d’horodater votre fichier catalogue. Si le catalogue n’est pas horodaté, l’artefact devient inutile au moment où l’ancien certificat expire.
Créer le package
- Créez un fichier de pontage d’éditeur pour makeappx.exe indiquer les artefacts à utiliser. Ce fichier est comme le fichier de mappage. Nommez-le comme vous voulez, 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 au fur et à mesure de leur application. Si vous avez deux artefacts, l’un pour aller Publisher1-Publisher2>, et l’autre pour Publisher2-Publisher3>, vous devez d’abord lister celui pour Publisher1-Publisher2>
- Appelez-makeappx.exe avec l’indicateur /pb pour pointer vers le fichier de pontage de l’éditeur :
makeappx.exe pack /p app.msix /d .\app\ /pb artifacts.txt
- Signez 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 le ou les artefacts stockés à l’intérieur et qui a été signé 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 l’horodatage) sur la machine pour que la plate-forme puisse installer le package signé par le nouveau certificat.
Afin de tirer parti de cette fonctionnalité, vous devrez le faire avant l’expiration de l’ancien certificat.
Cette fonctionnalité fonctionne à la fois pour les packages MSIX et les offres groupées MSIX