Signer des manifestes d’application et de déploiement

Si vous souhaitez publier une application à l’aide du déploiement ClickOnce, vous devez signer les manifestes d’application et de déploiement avec une paire de clés publique/privée et à l’aide de la technologie Authenticode. Vous pouvez signer les manifestes à l’aide d’un certificat à partir du magasin de certificats Windows ou d’un fichier de clé.

Les informations de cet article s’appliquent uniquement si vous utilisez .NET Framework 4.8.1 ou une version antérieure. Si vous utilisez .NET 5 ou une version ultérieure, procédez comme décrit dans la section Déployer une application de bureau Windows .NET avec ClickOnce.

Pour plus d’informations sur le déploiement ClickOnce, consultez Sécurité et déploiement ClickOnce.

La signature des manifestes ClickOnce est facultative pour les applications .exe. Pour plus d’informations, consultez la section « Générer des manifestes non signés » de ce document.

Pour plus d’informations sur la création de fichiers de clés, consultez Guide pratique pour créer une paire de clés publique/privée.

Notes

Visual Studio prend uniquement en charge les fichiers de clés PFX (Personal Information Exchange) ayant l’extension .pfx. Toutefois, vous pouvez sélectionner d’autres types de certificats à partir du magasin de certificats Windows de l’utilisateur actuel en cliquant sur Sélectionner dans Store dans la page Signature des propriétés du projet.

Signer en utilisant un certificat

Pour utiliser cette méthode, vous devez disposer d’un certificat signé par une autorité de certification (CA). Les certificats sont émis par des fournisseurs de services de certification tiers ou par des organisations autorisées au sein d’une entreprise.

  1. Accédez à la fenêtre des propriétés du projet (cliquez avec le bouton droit sur le nœud de projet dans l’Explorateur de solutions et sélectionnez Propriétés). Sous l’onglet Signature, cochez la case Signer les manifestes ClickOnce.

  2. Cliquez sur le bouton Sélectionner dans Store.

    La boîte de dialogue Sélectionner un certificat apparaît et affiche le contenu du magasin de certificats Windows.

    Conseil

    Si vous cliquez sur Cliquez ici pour afficher les propriétés du certificat, la boîte de dialogue Détails du certificat s’affiche. Cette boîte de dialogue contient des informations détaillées sur le certificat et des options supplémentaires. Cliquez sur Certificats pour voir des informations d’aide supplémentaires.

  3. Sélectionnez le certificat que vous souhaitez utiliser pour signer les manifestes.

    Conseil

    Si le magasin ne comprend aucun certificat, vous pouvez toujours signer à l’aide d’un certificat de test.

  4. Vous pouvez aussi spécifier l’adresse d’un serveur d’horodatage dans la zone de texte URL du serveur d’horodatage. Ce serveur fournit un horodatage spécifiant quand le manifeste a été signé. Il est généralement fourni par le même fournisseur tiers que celui qui propose des certificats signés par une autorité de certification.

Signer en utilisant un fichier de clé existant

  1. Dans la page Signature, cochez la case Signer les manifestes ClickOnce.

  2. Cliquez sur le bouton À partir d’un fichier.

    La boîte de dialogue Sélectionner le fichier s’affiche.

  3. Dans la boîte de dialogue Sélectionner le fichier, accédez à l’emplacement du fichier de clé (.pfx) à utiliser, puis cliquez sur Ouvrir.

    Notes

    Cette option prend uniquement en charge les fichiers ayant l’extension .pfx. Si vous avez un fichier de clé ou un certificat dans un autre format, stockez-le dans le magasin de certificats Windows et sélectionnez le certificat, comme indiqué dans la procédure précédente. L’objet du certificat sélectionné doit inclure la signature de code.

    La boîte de dialogue Entrez le mot de passe pour ouvrir le fichier s’affiche. (Si le fichier .pfx est déjà stocké dans votre magasin de certificats Windows ou s’il n’est pas protégé par un mot de passe, vous n’êtes pas invité à entrer un mot de passe.)

  4. Entrez le mot de passe pour accéder au fichier de clé, puis sélectionnez Entrée.

  5. Sélectionnez Plus de détails… pour afficher les propriétés du certificat. ClickOnce affiche la valeur du champ Objet en tant qu’Éditeur quand il affiche le certificat lorsqu’un utilisateur installe votre application. Voici un exemple de ce que l’utilisateur voit quand l’application ClickOnce est installée :

    Capture d’écran du certificat affiché au moment de l’installation de l’application.

Remarque

Le fichier .pfx ne peut pas inclure d’informations de chaînage des certificats. Si c’est le cas, l’erreur d’importation suivante se produit : Impossible de trouver le certificat et la clé privée pour le déchiffrement. Pour supprimer les informations de chaînage des certificats, vous pouvez utiliser Certmgr.msc et désactiver l’option pour Inclure tous les certificats lors de l’exportation du fichier *.pfx.

Signer en utilisant un certificat de test

Les certificats de test ne sont pas signés par une autorité de certification et ils doivent être utilisés à des fins de test uniquement. Pour plus d’informations sur les certificats de test, consultez Utilisation des autorités de certificats pour aider les utilisateurs.

  1. Dans la page Signature, cochez la case Signer les manifestes ClickOnce.

  2. Pour créer un certificat de test, cliquez sur le bouton Créer un certificat de test.

  3. Dans la boîte de dialogue Créer un certificat de test, entrez un mot de passe pour sécuriser votre certificat de test.

Remarque

Veillez à choisir sha256RSA comme Algorithme de signature, sauf si vous ciblez .NET 2.0.

Générer des manifestes non signés

La signature des manifestes ClickOnce est facultative pour les applications .exe. Les procédures suivantes montrent comment générer des manifestes ClickOnce non signés.

Important

Les manifestes non signés peuvent simplifier le développement et le test de votre application. Toutefois, ils présentent des problèmes de sécurité importants dans un environnement de production. N’envisagez l’utilisation de manifestes non signés que si votre application ClickOnce s’exécute sur des ordinateurs au sein d’un intranet complètement isolé d’Internet ou d’autres sources de code malveillant.

Par défaut, ClickOnce génère automatiquement des manifestes signés, sauf si un ou plusieurs fichiers sont spécifiquement exclus du hachage généré. En d’autres termes, la publication de l’application aboutit à des manifestes signés si tous les fichiers sont inclus dans le hachage, même si la case Signer les manifestes ClickOnce n’est pas cochée.

Pour générer des manifestes non signés et inclure tous les fichiers dans le hachage généré

Pour générer des manifestes non signés qui incluent tous les fichiers dans le hachage, vous devez d’abord publier l’application avec des manifestes signés. Vous devez donc signer les manifestes ClickOnce en effectuant l’une des procédures précédentes, puis publier l’application.

  1. Dans l’onglet Signature, décochez la case Signer les manifestes ClickOnce.

  2. Dans l’onglet Publier, redéfinissez la version de publication afin qu’une seule version de votre application soit disponible. Décochez la case Incrémenter automatiquement la version à chaque publication. Par défaut, Visual Studio incrémente automatiquement le numéro de révision de la version de publication chaque fois que vous publiez une application. Pour plus d’informations, consultez Guide pratique pour définir la version de publication ClickOnce.

  3. Publiez l'application. Visual Studio vous informe que l’application a été signée avec une clé différente de l’application existante sur le serveur et vous demande si vous souhaitez l’écraser. Cliquez sur Oui.

Pour générer des manifestes non signés et exclure un ou plusieurs fichiers du hachage généré

  1. Dans la page Signature, décochez la case Signer les manifestes ClickOnce.

  2. Dans l’onglet Publier, choisissez le bouton Fichiers d’application pour ouvrir la boîte de dialogue Fichiers d’application et définissez le Hachage sur Exclure pour les fichiers que vous souhaitez exclure du hachage généré.

    Notes

    Quand un fichier est exclu du hachage, ClickOnce est configuré pour désactiver la signature automatique des manifestes ; vous n’avez donc pas besoin de procéder à une publication préalable avec des manifestes signés comme indiqué dans la procédure précédente.

  3. Publiez l'application.