.net Strong Name Assemblies

4 min read Jun 04, 2024
.net Strong Name Assemblies

Comprendre les assemblys .NET à nom fort

Les assemblys .NET à nom fort sont un concept essentiel pour le développement d'applications .NET, offrant une sécurité et une gestion de versions améliorées. Ils jouent un rôle crucial dans le fonctionnement du Common Language Runtime (CLR) et la façon dont il gère les assemblys.

Qu'est-ce qu'un assembly à nom fort ?

Un assembly à nom fort est un assembly .NET qui est signé numériquement et doté d'un nom unique. Cela signifie qu'il est associé à un nom fort, composé de trois éléments :

  • Nom simple : Le nom de l'assembly, comme "MyAssembly".
  • Version : Le numéro de version de l'assembly, comme "1.0.0.0".
  • Clé publique : Une clé cryptographique utilisée pour signer l'assembly et garantir son authenticité.

Pourquoi utiliser les assemblys à nom fort ?

Les assemblys à nom fort offrent de nombreux avantages :

  • Sécurité: Ils permettent de garantir l'authenticité et l'intégrité des assemblys. En effet, ils sont signés numériquement, empêchant ainsi toute modification non autorisée.
  • Gestion des versions: Ils facilitent la gestion des versions des assemblys, en permettant au CLR de différencier les différentes versions d'un même assembly.
  • Dépendances: Ils permettent de gérer les dépendances entre les assemblys, en garantissant que les assemblys utilisés sont compatibles.
  • Contrôle d'accès: Ils offrent un contrôle d'accès plus précis, en permettant de limiter l'utilisation des assemblys à des utilisateurs ou des applications spécifiques.

Comment créer un assembly à nom fort ?

Pour créer un assembly à nom fort, vous devez :

  1. Générer une clé publique/privée: Utilisez l'outil sn.exe pour générer une paire de clés publique/privée.
  2. Signer l'assembly: Utilisez l'option /keyfile de l'outil csc.exe (ou vbc.exe) pour signer l'assembly avec la clé privée.
  3. Définir le nom fort: Utilisez l'option /keyfile et /delaysign pour définir le nom fort de l'assembly.

Exemple d'utilisation :

// Signature de l'assembly avec une clé privée
csc /keyfile:mykey.snk MyAssembly.cs

// Définir le nom fort de l'assembly
csc /keyfile:mykey.snk /delaysign MyAssembly.cs

Conclusion :

Les assemblys .NET à nom fort sont essentiels pour la sécurité, la gestion des versions et le contrôle d'accès des applications .NET. Ils offrent un moyen fiable de gérer les dépendances et de garantir l'intégrité des assemblys. L'utilisation des assemblys à nom fort est recommandée pour tous les projets .NET, en particulier pour les applications critiques ou sensibles.

Related Post