Gérer les certificats que Visual Studio utilise pour signer votre application

 

S'applique uniquement à Windows

Visual Studio signe votre application lorsque vous créez le package d'application.Il existe différentes façons de gérer le certificat que Visual Studio utilise pour signer votre application.

  • Générer un certificat de test

  • Sélectionner un autre certificat

  • Renouveler un certificat

  • Supprimer ou exporter un certificat

  • Déterminer quels contrôles de validation Visual Studio doit effectuer

  • Modifier des applications installées

Notes

Si une erreur qui ressemble à « Le certificat spécifié n'est pas valide, car il a expiré ou a rencontré un autre problème. » s'affiche pendant le processus de signature, utilisez le concepteur de manifestes pour créer un certificat de test qui remplace l'ancien.

Générer un certificat de test

Par défaut, tous les packages d'application générés par Visual Studio sont signés avec un certificat de test.Lorsque vous créez un package, Visual Studio génère un dossier qui inclut le package signé lui-même.Le fichier de certificat (.cer) inclus dans ce dossier contient la clé publique utilisée pour signer le package.

Modifications effectuées par Visual Studio au fichier projet lorsque vous générez un certificat de test

Le processus de création du certificat ajoute également une propriété au fichier projet :

<PackageCertificateKeyFile>
   RisingStar_TemporaryKey.pfx
</PackageCertificateKeyFile>

La valeur de PackageCertificateKeyFile correspond au chemin d'accès relatif ou au chemin d'accès complet du certificat de source lui-même.

Valeurs de propriété et d'extension dans le certificat de test

Dans le certificat de test généré par Visual Studio, le champ Objet du certificat a pour valeur l'attribut Publisher de l'élément Identity du fichier de manifeste source (.appxmanifest).

  • Si vous créez un package local, la valeur par défaut de l'attribut Publisher est votre nom d'utilisateur.

  • Si vous créez un package ou que vous associez votre application à celui-ci, l'attribut Publisher a la valeur Publisher ID obtenue de votre compte de développeur lorsque vous vous connectez au moment de la création du package.

La valeur de l'extension Contraintes de base a la valeur Type d'objet=Entité de fin.

Notes

L'extension des contraintes de base identifie si l'objet du certificat est une autorité de certification (CA).Cette extension définit également la profondeur maximale des chemins d'accès de certification valides qui contiennent ce certificat.La propriété Contraintes de base spécifie si la clé publique certifiée peut vérifier des signatures de certificat.

La valeur de l'extension Utilisation améliorée de la clé (EKU, Enhanced Key Usage) est définie sur Signature du code.

Sélectionner un autre certificat

Visual Studio crée automatiquement un certificat lorsque le projet est créé, mais vous pouvez également créer votre propre certificat ou utiliser un certificat existant pour signer un package.

Pour créer ou utiliser un autre certificat

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel du fichier .appxmanifest, sélectionnez Ouvrir avec, puis Concepteur de manifeste d'application.

  2. Dans Concepteur de manifeste d'application, sélectionnez l'onglet Packages, puis cliquez sur le bouton Choisir un certificat.

  3. Dans la boîte de dialogue Choisir un certificat, développez la liste Configurer le certificat, puis sélectionnez l'une des options suivantes :

    • Choisir dans le magasin de certificats
      Sélectionnez l'un des certificats Personal dans le magasin de certificats situé sur le système d'exploitation.

    • À partir d'un fichier
      Sélectionnez un fichier de certificat existant dans le système de fichiers.

    • Créer un certificat de test
      Créez un certificat avec un Publisher ID de votre choix. Vous pouvez également créer un mot de passe.

Quelle que soit l'option choisie, un fichier de certificat est ajouté au projet et les propriétés de projet PackageCertificateThumbprint et PackageCertificateKeyFile sont mises à jour en conséquence.

Renouveler un certificat

Le certificat par défaut généré par Visual Studio expire un an après sa date de création.Avant l'expiration du certificat, vous devez utiliser le concepteur de manifeste d'application pour régénérer le certificat ou, comme le décrit la procédure précédente, fournir un autre certificat valide.

Pour renouveler le certificat

  1. Dans l'Explorateur de solutions, ouvrez le menu contextuel du fichier .appxmanifest, sélectionnez Ouvrir avec, puis Concepteur de manifeste d'application.

  2. Dans Concepteur de manifeste d'application, sélectionnez l'onglet Packages, puis cliquez sur le bouton Choisir un certificat.

  3. Dans la boîte de dialogue Choisir un certificat, développez la liste Configurer le certificat, puis sélectionnez Créer un certificat de test.

  4. Dans la boîte de dialogue Créer un certificat de test, cliquez sur le bouton OK.

    Visual Studio régénère le certificat avec une nouvelle date d'expiration.

Supprimer ou exporter un certificat

Vous pouvez supprimer ou exporter un certificat qui a expiré ou qui a été compromis, endommagé ou remplacé par un autre certificat.Pour plus d'informations sur la suppression ou l'export d'un certificat, consultez la page Utilisation de la console de certificats.

Déterminer quels contrôles de validation Visual Studio doit effectuer

Lors de l'empaquetage, Visual Studio valide le certificat en effectuant un certain nombre de contrôles de validation.

Dans certains cas, vous devrez peut-être vérifier avec précision quel certificat est utilisé et, par conséquent, quels contrôles de validation vous souhaitez que Visual Studio exécute sur le certificat.Pour ce faire, vous pouvez affecter à la propriété MSBuild EnableSigningChecks la valeur False.

Si vous affectez la valeur False à la propriété, Visual Studio effectue uniquement les contrôles de validation suivants :

  • Vérifie s'il existe une clé privée.

  • Vérifie si la valeur de la propriété Utilisation améliorée de la clé contient Signature du code.

  • Vérifie si le certificat est actif, n'a pas expiré et n'a pas été révoqué.

Si vous affectez la valeur True (valeur par défaut) à la propriété, Visual Studio effectue les contrôles supplémentaires suivants :

  • Vérifie la présence de l'extension Contraintes de base et sa valeur, qui doit être Type d'objet=Entité de fin ou non spécifiée.

  • Vérifie la valeur de la propriété Utilisation de la clé, qui doit être Annuler la définition ou Signature numérique.

Modifier des applications installées

Si les fichiers d'un package installé sont modifiés, la vérification de signature peut empêcher l'application de se lancer.Pour modifier un package, effectuez les modifications dans les fichiers source originaux, puis redéployez le package modifié.

Voir aussi

Empaquetage d'applications Windows universelles pour Windows 10