Partager via


ClickOnce et Authenticode

Authenticode est une technologie Microsoft utilisant un chiffrement standard pour signer du code d'application avec des certificats numériques qui vérifient l'authenticité de l'éditeur de l'application. En utilisant Authenticode pour le déploiement d'applications, ClickOnce réduit le risque de cheval de Troie. Un Cheval de Troie est un virus ou autre programme préjudiciable qu'un tiers malveillant présente comme un programme légitime provenant d'une source établie et digne de confiance. La signature de déploiements ClickOnce avec un certificat numérique est une étape facultative permettant de vérifier que les assemblys et les fichiers ne sont pas falsifiés.

Les sections suivantes décrivent les différents types de certificats numériques utilisés avec Authenticode, la validation des certificats à l'aide d'autorités de certification (CA, Certificate Authority), le rôle de l'horodatage dans les certificats ainsi que les méthodes de stockage disponibles pour les certificats.

Authenticode et signature de code

Un certificat numérique est un fichier qui contient une paire de clés publique/privée de chiffrement, ainsi que des métadonnées décrivant l'éditeur à qui le certificat a été délivré et l'agence qui a publié le certificat.

Il existe différents types de certificats Authenticode. Chacun d'eux est configuré pour un type de signature particulier. Pour les applications ClickOnce, vous devez disposer d'un certificat Authenticode valide pour la signature de code. Si vous tentez de signer une application ClickOnce avec un autre type de certificat, tel qu'un certificat numérique de messagerie électronique, cela ne fonctionne pas. Pour plus d'informations, consultez Introduction à la signature de code (page éventuellement en anglais).

Vous pouvez obtenir un certificat pour la signature de code de trois façons différentes :

  • Achetez un certificat à un fournisseur de certificats.

  • Procurez-vous un certificat auprès d'un groupe de votre organisation responsable de la création de certificats numériques.

  • Générez votre propre certificat avec MakeCert.exe, fourni avec le Kit de développement logiciel (SDK) Windows.

Avantages apportés par l'utilisation d'autorités de certification aux utilisateurs

Un certificat généré à l'aide de l'utilitaire MakeCert.exe est généralement appelé certificat automatique ou certificat de test. Le fonctionnement de ce genre de certificat est très similaire à celui d'un fichier .snk dans .NET Framework. Il se compose uniquement d'une paire de clés de chiffrement publique/privée et ne contient aucune information vérifiable sur l'éditeur. Vous pouvez utiliser des certificats automatiques pour déployer des applications ClickOnce avec l'approbation élevée sur un intranet. Toutefois, lorsque ces applications sont exécutées sur un ordinateur client, les applications ClickOnce les identifient comme provenant d'un serveur de publication inconnu. Par défaut, les applications ClickOnce signées avec des certificats automatiques et déployées sur Internet ne peuvent pas utiliser le déploiement d'applications approuvées.

En revanche, si vous recevez un certificat d'une autorité de certification, telle qu'un fournisseur de certificats ou un service de votre entreprise, le certificat garantit une sécurité plus élevée pour vos utilisateurs. Non seulement il identifie l'éditeur du logiciel signé, mais il vérifie également cette identité en contactant l'autorité de certification qui l'a signé. Si l'autorité de certification n'est pas l'autorité racine, Authenticode remontera également à l'autorité racine pour vérifier que l'autorité de certification est autorisée à publier des certificats. Pour bénéficier d'une sécurité accrue, vous devez utiliser un certificat publié par une autorité de certification chaque fois que c'est possible.

Pour plus d'informations sur la génération de certificats automatiques, consultez Makecert.exe (outil de la création du certificat).

Horodatages

Les certificats utilisés pour signer des applications ClickOnce expirent après une certaine durée, généralement douze mois. Afin qu'il ne soit pas nécessaire de resigner constamment les applications avec de nouveaux certificats, ClickOnce prend en charge l'horodatage. Lorsqu'une application est signée avec un horodatage, son certificat continue à être accepté même après la date d'expiration, à condition que l'horodatage soit valide. Cela permet de télécharger et d'exécuter les applications ClickOnce avec des certificats arrivés à expiration, mais des horodatages valides. Cela permet également aux applications installées avec les certificats arrivés à expiration de continuer à télécharger et installer les mises à jour.

Pour inclure un horodatage dans un serveur d'applications, un serveur d'horodatage doit être disponible. Pour plus d'informations sur la sélection d'un serveur d'horodatage, consultez Comment : signer des manifestes d'application et de déploiement.

Mise à jour de certificats périmés

Dans les versions antérieures du .NET Framework, la mise à jour d'une application dont le certificat a expiré peut empêcher cette application de fonctionner. Pour résoudre ce problème, utilisez l'une des méthodes suivantes :

  • Mettez à jour .NET Framework vers la version 2.0 SP1 ou ultérieure sur Windows XP, ou la version 3.5 ou ultérieure sur Windows Vista.

  • Désinstallez l'application, puis réinstallez une nouvelle version avec un certificat valide.

  • Créez un assembly en ligne de commande qui met à jour le certificat. Pour des informations pas à pas sur ce processus, consultez Support technique Microsoft - Article 925521 (page éventuellement en anglais).

Stockage des certificats

  • Vous pouvez stocker des certificats en tant que fichier .pfx dans votre système de fichiers ou les stocker dans un conteneur de clé. Un utilisateur d'un domaine Windows peut avoir plusieurs conteneurs de clé. Par défaut, MakeCert.exe stocke les certificats dans votre conteneur de clé personnel, sauf si vous spécifiez qu'ils doivent être enregistrés dans un fichier .pfx. Mage.exe et MageUI.exe, les outils Kit de développement logiciel (SDK) Windows pour la création de déploiements ClickOnce, vous permettent d'utiliser des certificats stockés à l'aide de l'une ou de l'autre de ces méthodes.

Voir aussi

Référence

Mage.exe (outil Manifest Generation and Editing)

Concepts

Sécurité et déploiement ClickOnce

Sécurisation des applications ClickOnce

Vue d'ensemble du déploiement d'applications approuvées