Comment : désactiver la fonctionnalité consistant à ignorer les noms forts
Mise à jour : Juillet 2008
À partir du .NET Framework version 3.5 Service Pack 1 (SP1), les signatures de nom fort ne sont pas validées lorsqu'un assembly est chargé dans un objet AppDomain de confiance totale, tel que le AppDomain par défaut de la zone MyComputer. Cette fonctionnalité permet d'ignorer les noms forts. Dans un environnement de confiance totale, les demandes de StrongNameIdentityPermission aboutissent toujours pour les assemblys de confiance totale signés, quelle que soit leur signature. La seule restriction est que l'assembly doit présenter un niveau de confiance suffisant, étant donné que c'est le cas de sa zone. Puisque le nom fort n'est pas un facteur déterminant dans ces conditions, aucune validation n'est requise. Lorsque la validation des signatures de nom fort est ignorée, les performances sont considérablement améliorées.
La fonctionnalité consistant à ignorer les noms forts s'applique à tous les assemblys de confiance totale dont la signature n'est pas différée et qui sont chargés dans un AppDomain de confiance totale à partir du répertoire spécifié par leur propriété ApplicationBase.
Vous pouvez remplacer cette fonctionnalité pour toutes les applications ouvertes sur un ordinateur en définissant une valeur de clé de Registre. Vous pouvez remplacer la définition d'une application à l'aide du fichier de configuration de l'application. Vous ne pouvez pas rétablir la fonctionnalité consistant à ignorer les noms forts pour une application si elle a été désactivée par le biais de la clé de Registre.
Lorsque vous remplacez la fonctionnalité consistant à ignorer les noms forts, seule l'exactitude du nom fort est validée. Aucune recherche de StrongNameIdentityPermission n'est effectuée. Si vous souhaitez confirmer un nom fort spécifique, vous devez effectuer un contrôle distinct.
Remarque importante : |
---|
La possibilité de forcer la validation d'un nom fort dépend d'une clé de Registre, comme décrit dans la procédure suivante. Si une application s'exécute sous un compte ne disposant pas de l'autorisation de liste de contrôle d'accès (ACL) pour accéder à la clé de Registre, le paramètre n'est pas effectif. Vous devez vous assurer que les droits ACL sont configurés pour cette clé et qu'elle peut ainsi être lue pour tous les assemblys. |
Pour désactiver la fonctionnalité consistant à ignorer les noms forts pour toutes les applications
Sur les ordinateurs 32 bits, créez une sous-clé sous la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework dans la base de registres. Utilisez le nom de clé AllowStrongNameBypass avec une valeur DWORD égale à 0.
– ou –
Sur les ordinateurs 64 bits, créez une sous-clé sous la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework dans la base de registres. Utilisez le nom de clé AllowStrongNameBypass avec une valeur DWORD égale à 0. Créez la même sous-clé sous la clé HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework.
Pour désactiver la fonctionnalité consistant à ignorer les noms forts pour une application
Ouvrez ou créez le fichier de configuration de l'application.
Pour plus d'informations sur ce fichier, consultez Fichiers de configuration des applications.
Ajoutez l'entrée suivante :
<configuration> <runtime> < bypassTrustedAppStrongNames enabled="false" /> </runtime> </configuration>
Vous pouvez rétablir la fonctionnalité en supprimant le paramètre du fichier de configuration ou en affectant à l'attribut la valeur « true ».
Remarque : |
---|
Vous ne pouvez activer et désactiver la validation de nom fort que si la fonctionnalité consistant à ignorer les noms forts est activée pour l'ordinateur. Si cette fonctionnalité est désactivée, les noms forts sont validés pour toutes les applications et vous ne pouvez pas contourner la validation pour une application. |
Voir aussi
Référence
Outil Strong Name Tool (Sn.exe)
<bypassTrustedAppStrongNames>, élément
Autres ressources
Création et utilisation d'assemblys avec nom fort
Historique des modifications
Date |
Historique |
Raison |
---|---|---|
Juillet 2008 |
Ajout d'une rubrique. |
Modifications de fonctionnalités dans le SP1. |