Název pro podepisování silného názvu u spravovaných aplikací
Podepisování silného názvu nebo vytváření silných názvů poskytuje softwarové komponentě globálně jedinečnou identitu, která nemůže být zfalšována jiným uživatelem. Silné názvy se používají k zajištění, že závislosti komponenty a příkazy konfigurace mapují přesně správnou komponentu a verzi komponenty.
Silný název se skládá z identity sestavení (jednoduchý textový název, číslo verze a informace o jazykové verzi) plus token veřejného klíče a digitální signatura.
Pro projekty jazyka Visual C# a Visual Basic sada Visual Studio umožňuje silné pojmenování prostřednictvím podokna Podepisování v Návrháři projektu; viz Stránka, Podepsání designer projekt.
Pro projekty jazyka Visual C++ použijete možnosti propojovacího programu k podepsání svého sestavení; viz Sestavení silného názvu (Podepsání sestavení).
Důvody pro použití silného pojmenování
Silné pojmenování poskytuje aplikaci nebo komponentě jedinečnou identitu, na kterou jiný software může explicitně odkazovat. Například silné pojmenování umožňuje autorům aplikace a správcům určit přesné obsluhy verze, která má být použita pro sdílenou komponentu. To umožňuje různým aplikacím určit různé verze bez ovlivnění jiných aplikací. Kromě toho můžete silný název komponenty použít jako legitimace zabezpečení k vytvoření vztahu důvěryhodnosti mezi dvěma komponentami.
Co může být silně pojmenované
Můžete silně pojmenovat sestavení rozhraní .NET Framework a manifesty jazyka XML. Například:
Sestavení aplikace (.exe)
Manifesty aplikace (.exe.manifest)
Manifesty nasazení (.aplikace)
Sestavení sdílených komponent (.dll)
Co má být silně pojmenované
Sdílené knihovny DLL by měly být silně pojmenovány. Bez ohledu na to, zda bude knihovna DLL zavedena do globální mezipaměti sestavení (GAC), silný název se doporučuje, když knihovna DLL není soukromý implementační detail aplikace, ale je obecná služba, kterou lze použít jako více než jednu aplikaci.
Co musí být silně pojmenované
Je nutné silně pojmenovat následující:
Knihovny DLL, pokud je chcete nasadit do globální mezipaměti sestavení (GAC).
ClickOnce aplikace a manifesty nasazení Ve výchozím nastavení systém projektů sady Visual Studio povoluje toto pro ClickOnce-nasazené aplikace.
Primární definiční sestavení, které jsou používány pro vzájemnou funkční spolupráci modelu COM. Nástroj TLBIMP vynucuje silné pojmenování při vytváření primárního definičního sestavení z knihovny modelu COM.
Co nemá být silně pojmenované
Obecně platí, že byste neměli silně pojmenovávat sestavení EXE aplikace. Silně pojmenovaná aplikace nebo komponenta nemůže odkazovat na komponentu se slabým názvem. Proto silné pojmenování EXE zabrání EXE odkazování na knihovny DLL se slabým názvem, které jsou nasazeny s aplikací.
Z tohoto důvodu nevytváří systém projektu sady Visual Studio silné názvy EXE aplikací. Místo toho silně pojmenuje manifest aplikace, který interně odkazuje na EXE aplikace se slabým názvem.
Kromě toho se můžete vyhnout silného pojmenování komponent, které jsou soukromé pro vaši aplikaci. V tomto případě může silné pojmenování ztížit spravování závislostí a přidat zbytečnou režii soukromým komponentám.
Jak přiřadit silný název
V sadě Visual Studio silně pojmenujete aplikaci nebo komponentu pomocí podokna Podepisování Návrháře projektu. Podokno Podepisování podporuje dvě metody silných názvů: použití souboru s klíčem silného názvu nebo pomocí poskytovatele klíče. Informace o podepisování manifestů naleznete v tématu Postupy: Podepsat aplikaci a manifesty nasazení; informace o vytváření souborů s klíčem se silným názvem (.snk) naleznete v tématu Jak: Vytvořit pár veřejného a soukromého klíče.
Při použití metody souboru s klíčem můžete použít existující soubor s klíčem nebo vytvořit nový. Vždy byste měli chránit váš soubor s klíčem heslem k zabránění někomu jeho použití.
Poskytovatelé klíče nebo úložiště certifikátu poskytuje jiné prostředky pro zajištění vašich klíčů se silným názvem. Někteří poskytovatelé klíč použít karta technologie SMART karta jako prostředek k ověřování identita a brání kód Product klíč je odcizen.
Aktualizace komponent se silným názvem
Komponenta se silným názvem nemůže být obsluhována nebo inovována překopírováním nové verze přes starou.
Můžete aktualizovat knihovnu DLL se slabým názvem v adresáři aplikace jen zkopírováním nové verze do adresáře aplikace. Modul CLR (Common Language Runtime) načte jakoukoli verzi, která je fyzicky přítomna.
Pro knihovny DLL se silným názvem musíte buď překompilovat celou aplikaci tak, aby všechny odkazy na sestavení poukazovaly na novou verzi, nebo je nutné aktualizovat soubor .config aplikace k vydání pokynu, aby za běhu načetla novou verzi místo staré.
Ačkoli komponenty se silným názvem vyžadují trochu více údržby, výhoda spočívá v tom, že aplikace mohou být velmi explicitní v tom, které verze jiných komponent vyžadují za běhu.
Viz také
Úkoly
Postupy: Podepsat aplikaci a manifesty nasazení
Postupy: Podepsat sestavení (Visual Studio)
Postupy: Příznak odložení sestavení (Visual Studio)
Odkaz
Stránka, Podepsání designer projekt
Koncepty
Zabezpečení aplikací ClickOnce
Sestavení silného názvu (Podepsání sestavení)