Signer un package d’application Windows 10Sign a Windows 10 app package

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é.App package signing is a required step in the process of creating a Windows 10 app package that can be deployed. Windows 10 exige que toutes les applications soient signées avec un certificat de signature de code valide.Windows 10 requires all applications to be signed with a valid code signing certificate.

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.To successfully install a Windows 10 application, the package doesn't just have to be signed but also trusted on the device. Cela signifie que le certificat doit être chaîné à l’une des racines de confiance sur l’appareil.This means that the certificate has to chain to one of the trusted roots on the device. 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.By default, Windows 10 trusts certificates from most of the certificate authorities that provide code signing certificates.

RubriqueTopic DescriptionDescription
Prérequis pour la signaturePrerequisites for signing Cette section traite des prérequis pour signer le package d’application Windows 10.This section discusses the prerequisites required to sign the Windows 10 app package.
Utilisation de SignToolUsing SignTool Cette section explique comment utiliser l’outil SignTool du SDK Windows 10 pour signer le package d’application.This section discusses how to use SignTool from the Windows 10 SDK to sign the app package.
Signer un package MSIX avec la signature Device GuardSign an MSIX package with Device Guard signing Cette section explique comment signer votre application avec la signature Device Guard.This section discusses how to sign your app with Device Guard signing.

HorodatageTimestamping

Il est fortement recommandé d’utiliser l' horodateur lors de la signature de votre application avec un certificat.It is highly recommended that Timestamping is used when signing your app with a certificate. L’horodatage conserve la signature, ce qui permet au package d’application d’être accepté par la plateforme de déploiement d’application même une fois que le certificat a expiré.Timestamping preserves the signature allowing the app package to accepted by app deployment platform even after the certificate has expired. 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é.At the package inspection time, the timestamp allows for the package signature to be validated with respect to the time it was signed. Ainsi, les packages peuvent être acceptés même une fois que le certificat n’est plus valide.This allows for packages to be accepted even after the certificate is no longer valid. 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.Packages that are not timestamped will be evaluated against the current time and if the certificate is no longer valid, Windows will not accept the package.

Voici les différents scénarios de signature d’application avec/sans horodatage :The following are the different scenarios around app signing with/out timestamping:

L’application est signée sans horodatageApp is signed without timestamping L’application est signée avec un horodatageApp is signed with timestamping
Le certificat est valideCertificate is valid L’application est installéeApp will install L’application est installéeApp will install
Le certificat n’est pas valide (il a expiré)Certificate is invalid(expired) L’application n’est pas installéeApp will fail to install L’application est installée, car l’authenticité du certificat a été vérifiée lors de la signature par une autorité d’horodatageApp will install as the authenticity of the cert was verified at signing by timestamping authority

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.If the app is successfully installed on a device, it will continue to run even after the certificate expiry regardless of it being timestamped or not.

Mode de l’appareilDevice mode

Windows 10 permet aux utilisateurs de sélectionner le mode dans lequel exécuter leur appareil dans l’application Paramètres.Windows 10 allows users to select the mode in which to run their device on in the Settings app. Les modes sont les suivants : Applications du Microsoft Store, Charger une version test des applications et Mode développeur.The modes are Microsoft Store apps, Sideload apps, and Developer mode.

Applications du Microsoft Store est le mode le plus sécurisé, car il autorise uniquement l’installation des applications à partir du Microsoft Store.Microsoft Store apps is the most secure as it only allows the installation of apps from the Microsoft Store. Les applications du Microsoft Store passent par un processus de certification qui garantit que leur utilisation est sans danger.Apps in the Microsoft Store go through certification process to ensure that the apps are safe for use.

Charger une version test des applications et Mode développeur sont plus permissifs quant aux applications signées par d’autres certificats, tant que ces certificats sont approuvés et chaînés à l’une des racines de confiance sur l’appareil.Sideload apps and Developer mode are more permissive of apps that are signed by other certificates as long as those certificates are trusted and chain to one of the trusted roots on the device. 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.Only select Developer mode if you are a developer and building or debugging Windows 10 apps. Vous trouverez plus d’informations sur le mode développeur et ses caractéristiques ici.More info about Developer mode and what it provides can be found here.