Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Počínaje rozhraním .NET Framework verze 3.5 Service Pack 1 (SP1) se silné názvové podpisy neověřují při načtení sestavení do objektu s plnou důvěrou AppDomain, jako je výchozí AppDomain pro zónu MyComputer. Tato funkce se označuje jako funkce obejití silného názvu. V prostředí s úplným oprávněním budou požadavky na StrongNameIdentityPermission vždy úspěšné pro podepsaná sestavení s úplným oprávněním bez ohledu na jejich podpis. Jediným omezením je, že sestavení musí být plně důvěryhodné, protože jeho zóna je plně důvěryhodná. Vzhledem k tomu, že silný název není určujícím faktorem za těchto podmínek, neexistuje důvod, proč by se ověřil. Obcházení procesu ověřování podpisů se silným názvem poskytuje značné zlepšení výkonu.
Funkce obejití se vztahuje na jakékoli sestavení s úplným vztahem důvěryhodnosti, které není podepsáno zpožděním a které je načteno do jakéhokoli úplného vztahu důvěryhodnosti AppDomain z adresáře určeného jeho ApplicationBase vlastností.
Funkci obejití pro všechny aplikace v počítači můžete přepsat nastavením hodnoty klíče registru. Nastavení jedné aplikace můžete přepsat pomocí konfiguračního souboru aplikace. Funkci obejití pro jednu aplikaci nelze obnovit, pokud byla zakázána klíčem registru.
Při vypnutí funkce obejití je silný název ověřen pouze pro správnost; není kontrolován na StrongNameIdentityPermission. Pokud chcete potvrdit konkrétní silný název, musíte provést tuto kontrolu samostatně.
Důležité
Schopnost vynutit ověření silného názvu závisí na klíči registru, jak je popsáno v následujícím postupu. Pokud je aplikace spuštěná pod účtem, který nemá oprávnění seznamu řízení přístupu (ACL) pro přístup k danému klíči registru, nastavení je neefektivní. Musíte zajistit, aby byla pro tento klíč nakonfigurovaná práva ACL, aby bylo možné je zpřístupnit ke čtení pro všechny assembly.
Zakázat funkci obejití silného názvu pro všechny aplikace
V 32bitových počítačích v systémovém registru vytvořte položku DWORD s hodnotou 0 pojmenovanou
AllowStrongNameBypasspod klíčem HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework.V 64bitových počítačích v systémovém registru vytvořte položku DWORD s hodnotou 0 pojmenovanou
AllowStrongNameBypasspod klíči HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework a HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework.
Zakázání funkce obejití silného názvu pro jednu aplikaci
Otevřete nebo vytvořte konfigurační soubor aplikace.
Další informace o tomto souboru najdete v části Konfigurační soubory aplikace v části Konfigurace aplikací.
Přidejte následující položku:
<configuration> <runtime> <bypassTrustedAppStrongNames enabled="false" /> </runtime> </configuration>
Funkci obejití aplikace můžete obnovit odebráním nastavení konfiguračního souboru nebo nastavením atributu na true.
Poznámka:
Ověření silného názvu můžete pro aplikaci zapnout a vypnout jenom v případě, že je pro počítač povolená funkce obejití. Pokud je funkce obejití pro počítač vypnutá, jsou silné názvy ověřeny pro všechny aplikace a nemůžete obejít ověření jedné aplikace.