Comment : signer un assembly (Visual Studio)

La signature d'assemblys (également appelée signature de nom fort) donne à une application ou à un composant une identité unique que d'autres logiciels peuvent identifier et référencer explicitement.Un nom fort est constitué de son simple nom textuel, de son numéro de version et des informations de culture (le cas échéant), ainsi que d'une paire de clés publique/privée.Ces informations sont stockées dans un fichier de clé ; il peut s'agir d'un fichier PFX (Personal Information Exchange) ou d'un certificat issu du magasin de certificats Windows de l'utilisateur actuel.Pour plus d'informations, consultez Signature avec un nom fort pour les applications managées.

[!REMARQUE]

Cette rubrique s'applique à Visual C# et aux projets Visual Basic uniquement.Pour plus d'informations sur la façon de signer des assemblys dans les projets Visual C++, consultez Assemblys de nom fort (signature d'assembly) (C++/CLI).

En termes de signature d'assemblys, Visual Studio prend uniquement en charge les fichiers .pfx (Personal Information Exchange) et de clé de nom fort .snk (Strong Name Key) stockés dans le système de projet sur l'ordinateur local.

Dans certains cas, il se peut que vous n'ayez accès qu'à une clé publique.Vous pouvez alors utiliser la temporisation de signature pour différer l'assignation de la clé privée.

Vous pouvez signer votre assembly à l'aide des options disponibles sur la page Signature du Concepteur de projets comme suit ; pour plus d'informations, consultez Page Signature, Concepteur de projets.

Les procédures suivantes s'appliquent uniquement à la signature d'assemblys.Si vous souhaitez signer des manifestes d'application et de déploiement, consultez Comment : signer des manifestes d'application et de déploiement.

Pour signer un assembly à l'aide d'un nouveau fichier de clé

  1. Avec le nœud de projet sélectionné dans l'Explorateur de solutions, dans le menu Projet, cliquez sur Propriétés (ou cliquez avec le bouton droit sur le nœud de projet dans l'Explorateur de solutions, puis cliquez sur Propriétés).

  2. Dans le Concepteur de projets, cliquez sur l'onglet Signature.

  3. Activez la case à cocher Signer l'assembly.

  4. Spécifiez un nouveau fichier de clé.Dans la liste déroulante Choisir un fichier de clé de nom fort, sélectionnez <Nouveau...>.Remarquez que les nouveaux fichiers de clés sont systématiquement créés au format .pfx.

    La boîte de dialogue Créer une clé de nom fort s'affiche.

  5. Dans la boîte de dialogue Créer une clé de nom fort, entrez un nom et un mot de passe pour le nouveau fichier de clé, puis cliquez sur OK.

  6. Vous pouvez activer la temporisation de signature en activant la case à cocher Différer la signature uniquement .Un projet à signature différée ne fonctionnera pas, et vous ne pouvez pas le déboguer.Toutefois, vous pouvez ignorer la vérification pendant le développement à l'aide de Sn.exe (outil Strong Name Tool) avec l'option d' -Vr .

Pour signer un assembly à l'aide d'un fichier de clé existant

  1. Avec le nœud de projet sélectionné dans l'Explorateur de solutions, dans le menu Projet, cliquez sur Propriétés (ou cliquez avec le bouton droit sur le nœud de projet dans l'Explorateur de solutions, puis cliquez sur Propriétés).

  2. Dans le Concepteur de projets, cliquez sur l'onglet Signature.

  3. Activez la case à cocher Signer l'assembly.

  4. Spécifiez un fichier de clé existant.Dans la liste déroulante Choisir un fichier de clé de nom fort, sélectionnez <Parcourir...>.

  5. Dans la boîte de dialogue Sélectionner le fichier, naviguez jusqu'au fichier de clé, ou tapez son chemin d'accès dans le champ Nom de fichier, puis cliquez sur Ouvrir pour le sélectionner.(Pour plus d'informations, consultez Comment : créer une paire de clés publique/privée).

    [!REMARQUE]

    Vous pouvez modifier le mot de passe du fichier de clé en cliquant sur Modifier le mot de passe.Dans la boîte de dialogue Modifier le mot de passe de la clé, entrez l'ancien mot de passe, puis entrez le nouveau mot de passe deux fois.

  6. Vous pouvez activer la temporisation de signature en activant la case à cocher Différer la signature uniquement .Un projet archivé par le runtime ne fonctionnera pas, et vous ne pouvez pas le déboguer.Toutefois, vous pouvez ignorer la vérification pendant le développement à l'aide de Sn.exe (outil Strong Name Tool) avec l'option d' -Vr .

Voir aussi

Référence

Page Signature, Concepteur de projets

Concepts

Signature avec un nom fort pour les applications managées

Autres ressources

Gestion d'assembly et signature de manifeste