Sdílet prostřednictvím


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í se silným názvem

Sestavení silného názvu (Podepsání sestavení)

Další zdroje

Správa sestavení a podepsání manifestu