Applications Windows
Réduire la table des matières
Développer la table des matières

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.

System_CAPS_noteRemarque

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.

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.

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.

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.

System_CAPS_noteRemarque

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.

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.

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.

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.

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.

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é.

Afficher:
© 2017 Microsoft