Signer un package d’application Windows 10

La signature de package d’application est une étape obligatoire lors de la création d’un package d’application Windows 10 qui peut être déployé. Windows 10 exige que toutes les applications soient signées avec un certificat de signature de code valide.

Pour installer une application Windows 10, il ne suffit pas que le package soit signé ; il faut aussi qu’il soit approuvé sur l’appareil. Cela signifie que le certificat doit être chaîné à l’une des racines de confiance sur l’appareil. Par défaut, Windows 10 approuve les certificats provenant de la plupart des autorités de certification qui fournissent des certificats de code de signature.

En outre, si vous créez un bundle MSIX, il n’est pas nécessaire de signer tous les packages dans le bundle individuellement. Seul le bundle doit être signé et tous les packages à l’intérieur d’obtenir signés de manière récursive.

Rubrique Description
Prérequis pour la signature Cette section traite des prérequis pour signer le package d’application Windows 10.
Utilisation de SignTool Cette section explique comment utiliser l’outil SignTool du SDK Windows 10 pour signer le package d’application.
Signer un package MSIX avec une signature Device Guard Cette section explique comment signer votre application avec la signature Device Guard.
Création de packages non signés à des fins de test Cette section explique comment créer un package msix non signé.

Horodatage

Il est vivement recommandé d’utiliser l’horodatage lors de la signature de votre application avec un certificat. L’horodatage conserve la signature permettant au package d’application d’être accepté par la plateforme de déploiement d’application, même après l’expiration du certificat. Au moment de l’inspection du package, l’horodatage permet de valider la signature du package par rapport à l’heure à laquelle il a été signé. Ainsi, les packages peuvent être acceptés même une fois que le certificat n’est plus valide. Les packages qui ne sont pas horodatés sont évalués par rapport à l’heure actuelle, et si le certificat n’est plus valide, Windows n’accepte pas le package.

Voici les différents scénarios de signature d’application avec/sans horodatage :

Scénario L’application est signée sans horodatage L’application est signée avec un horodatage
Le certificat est valide L’application est installée L’application est installée
Le certificat n’est pas valide (il a expiré) L’application n’est pas installée L’application est installée, car l’authenticité du certificat a été vérifiée lors de la signature par une autorité d’horodatage

Notes

Si l’application est correctement installée sur un appareil, elle continuera à s’exécuter même après l’expiration du certificat, qu’elle ait été horodatée ou non.

Mise en œuvre de l’intégrité du package

En plus de s’assurer que seules les applications approuvées sont installées sur un appareil, un avantage supplémentaire de signer un package MSIX est qu’il permet à Windows d’appliquer l’intégrité de votre package et son contenu après son déploiement sur un appareil. En chaînant les AppxBlockMap.xml et AppxSignature.p7x dans un package signé, Windows est en mesure d’effectuer des vérifications de validation sur l’intégrité d’un package et de son contenu au moment de l’exécution, et pendant Windows Defender analyses. Si un package est considéré comme falsifié, Windows bloque le lancement de l’application et lance un workflow de correction pour que le package soit réparé ou réinstallé. Pour les packages non distribués via le Microsoft Store, l’intégrité du package est appliquée si le package déclare l’élément uap10:PackageIntegrity et est déployé sur Windows 2004 et versions ultérieures. Voici un exemple de déclaration d’application de l’intégrité du package dans le AppxManifest.xml :

<Package ...
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"  
IgnorableNamespaces="uap10">
...
  <Properties>
    <uap10:PackageIntegrity>
      <uap10:Content Enforcement="on" />
    </uap10:PackageIntegrity>
  </Properties>
...
</Package>

Mode de l’appareil

Windows 10 permet aux utilisateurs de sélectionner le mode dans lequel exécuter leur appareil dans l’application Paramètres. Les modes sont les suivants : Applications du Microsoft Store, Charger une version test des applications et Mode développeur.

Applications du Microsoft Store est le mode le plus sécurisé, car il autorise uniquement l’installation des applications à partir du Microsoft Store. Les applications du Microsoft Store passent par un processus de certification qui garantit que leur utilisation est sans danger.

Le chargement indépendant des applications et du mode développeur est plus permissif des applications signées par d’autres certificats tant que ces certificats sont approuvés et chaînent à l’une des racines approuvées sur l’appareil. Sélectionnez le mode développeur uniquement si vous êtes un développeur et que vous générez ou déboguez des applications Windows 10. Vous trouverez plus d’informations sur le mode développeur et ses caractéristiques ici.

Notes

À compter de Windows 10 version 2004, l’option Chargement indépendant est activée par défaut. Par conséquent, le mode Développeur est désormais un bouton bascule. Les entreprises peuvent toujours désactiver le chargement indépendant via une stratégie.