Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez aussi afficher la version anglaise dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte.
Traduction
Anglais

ClickOnce et Authenticode

 

Authenticode est une technologie Microsoft qui utilise le chiffrement standard pour signer le code d’application avec des certificats numériques. Ces certificats permettent de vérifier l’authenticité de l’éditeur de l’application. En utilisant Authenticode pour le déploiement d’applications, ClickOnce réduit le risque d’un cheval de Troie. Un cheval de Troie est un virus ou autre programme dangereux qu’un tiers malveillant présente comme un programme légitime provenant d’une source de confiance connue. La signature des 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), le rôle de l’horodatage dans les certificats et les méthodes de stockage possibles pour les certificats.

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 par e-mail, cela ne fonctionne pas. Pour plus d’informations, consultez Introduction to Code Signing (Présentation de la signature de code). 

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 dans le Kit de développement logiciel Windows.

Un certificat généré à l’aide de l’utilitaire MakeCert.exe est généralement appelé certificat automatique ou certificat de test. Ce type de certificat fonctionne quasiment de la même façon qu’un fichier .snk dans le .NET Framework. Il se compose uniquement d’une paire de clés publique/privée de chiffrement et ne contient aucune information vérifiable concernant l’éditeur. Vous pouvez utiliser des certificats automatiques pour déployer des applications ClickOnce très fiables sur un intranet. Toutefois, quand ces applications sont exécutées sur un ordinateur client, ClickOnce les identifie comme provenant d’un éditeur 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, par exemple un fournisseur de certificats ou un service de votre entreprise, le certificat offre davantage de sécurité pour vos utilisateurs. Non seulement il identifie l’éditeur du logiciel signé, mais il vérifie aussi cette identité auprès de l’autorité de certification qui l’a signé. Si l’autorité de certification n’est pas l’autorité racine, Authenticode remonte également jusqu’à l’autorité racine pour vérifier que l’autorité de certification est autorisée à publier des certificats. Pour garantir une sécurité optimale, utilisez un certificat publié par une autorité de certification quand cela est possible.

Pour plus d’informations sur la génération de certificats automatiques, consultez Makecert.exe (Certificate Creation Tool).

Les certificats utilisés pour signer des applications ClickOnce expirent après une certaine durée (douze mois, le plus souvent). Pour éviter aux utilisateurs d’avoir à resigner constamment les applications avec de nouveaux certificats, ClickOnce prend en charge l’horodatage. Quand une application est signée avec un horodatage, son certificat est accepté même s’il a expiré, à condition que l’horodatage soit valide. Cela permet de télécharger et d’exécuter des applications ClickOnce qui ont des certificats arrivés à expiration, mais des horodatages valides. Cela permet également aux applications installées qui ont des certificats expirés 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.

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 de ligne de commande qui met à jour le certificat. Pour obtenir des informations détaillées sur ce processus, consultez l’article 925521 du support Microsoft.

  • Vous pouvez stocker les certificats dans un fichier .pfx sur votre système de fichiers ou les stocker dans un conteneur de clé. Un utilisateur d’un domaine Windows peut avoir un ou plusieurs conteneurs de clé. Par défaut, MakeCert.exe stocke les certificats dans votre conteneur de clé personnel, sauf si vous spécifiez qu’il doit les enregistrer dans un fichier .pfx. Mage.exe et MageUI.exe, outils du SDK Windows pour la création de déploiements ClickOnce, vous permettent d’utiliser des certificats stockés à l’aide de l’une ou l’autre de ces méthodes.

Afficher: