Postupy: Zakázat vlastnost pro vynechání silného názvu

Počínaje verzí rozhraní .NET Framework 3.5 Service Pack 1 (SP1) nedochází k ověřování podpisů silného názvu při načtení sestavení do plně důvěryhodného objektu AppDomain, jako je například výchozí AppDomain pro oblast MyComputer. To se označuje jako vlastnost pro vynechání silného názvu. V plně důvěryhodném prostředí, jsou požadavky na StrongNameIdentityPermission vždy úspěšné pro podepsané, plně důvěryhodné sestavení, bez ohledu na jejich podpis. Jediné omezení je, že sestavení musí být plně důvěryhodné, protože je plně důvěryhodná daná oblast. Protože silný název za těchto podmínek není určujícím faktorem, není důvod, aby byl ověřován. Vynechání ověřování podpisů silných názvů poskytuje významné vylepšení výkonu.

Vlastnost pro vynechání se vztahuje na všechny plně důvěryhodné sestavení, které byly podepsány bez zpoždění, a které jsou načteny do jakékoli plně důvěryhodné AppDomain z adresář určeného její vlastností ApplicationBase.

Vlastnost pro vynechání můžete potlačit pro všechny aplikace v počítači nastavení hodnoty klíče registru. Nastavení pro jednu aplikaci lze potlačit pomocí konfiguračního souboru aplikace. Vlastnost pro vynechání nelze obnovit pro jednu aplikaci, pokud byla zakázána pomocí klíče registru.

Při potlačení vlastnosti pro vynechání je silný název ověřován pouze pro korektnost; není kontrolován pro StrongNameIdentityPermission. Chcete-li potvrdit konkrétní silný název, bude nutné provést tuto kontrolu samostatně.

Důležitá poznámkaDůležité

Schopnost vynutit ověřování 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ěna pod účtem, který nemá oprávnění seznamu kontroly přístupu (seznamu ACL) k přístupu k tomuto klíči registru, nastavení je neúčinné.Je nutné, aby jste zajistili, že práva seznamu ACL jsou konfigurována pro tento klíč, aby mohl být čten všemi sestaveními.

Chcete-li zakázat vlastnost pro vynechání silného názvu pro všechny aplikace

  • V 32bitových počítačích v systémovém registru vytvořit položku DWORD s hodnotou 0 s názvem AllowStrongNameBypass pod HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.Klíč NETFramework.

  • V 64bitových počítačích v systémovém registru vytvořit položku DWORD s hodnotou 0 s názvem AllowStrongNameBypass pod HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework a HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.Klíče NETFramework.

Chcete-li zakázat vlastnost pro vynechání silného názvu pro jednu aplikaci

  1. Otevřete nebo vytvořte konfigurační soubor aplikace.

    Další informace o tomto souboru naleznete v oddílu Konfigurační soubory aplikace v tématu Configuration Files.

  2. Přidejte následující údaje:

    <configuration>
      <runtime>
         < bypassTrustedAppStrongNames enabled="false" />
      </runtime>
    </configuration>
    

Vlastnost pro vynechání můžete pro danou aplikaci obnovit odstraněním nastavení konfiguračního souboru nebo nastavením daného atributu na hodnotu "true".

PoznámkaPoznámka

Ověřování silných názvů pro aplikaci lze zapínat a vypínat pouze v případě, že je vlastnost pro vynechání povolena pro počítač.Pokud byla vlastnost pro vynechání vypnuta pro počítač, silné názvy jsou ověřovány pro všechny aplikace a nelze obcházet ověřování pro jednu aplikaci.

Viz také

Odkaz

Sn.exe (Strong Name Tool)

<bypasstrustedappstrongnames>element

Koncepty

Vytvoření a použití sestavení se silným názvem

Historie změn

Datum

Poslední dokumenty

Důvod

Srpen 2010

Aktualizované informace o položce registru.

Názory zákazníků