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.
Pokud chcete podepsat sestavení silným názvem, musíte mít dvojici veřejného a privátního klíče. Tento pár veřejného a privátního kryptografického klíče se používá během kompilace k vytvoření sestavení se silným názvem. Pár klíčů můžete vytvořit pomocí nástroje Strong Name (Sn.exe). Soubory páru klíčů mají obvykle příponu .snk .
Poznámka:
V .NET (.NET Core a .NET 5 a novějších verzích) se silné názvy neověřují v běhovém prostředí. Podepsání silného názvu je zejména relevantní pro .NET Framework a .NET Standard 2.0 v souvislosti se scénáři interoperability s .NET Frameworkem. Pokud necílíte na rozhraní .NET Framework, obvykle není nutné pojmenovat sestavení silným názvem, pokud to vaše organizace nebo konzumenti nevyžadují.
Poznámka:
Na Visual Studio stránky vlastností projektu c# a Visual Basic obsahují kartu Signing, která umožňuje vybrat existující soubory klíčů nebo vygenerovat nové soubory klíčů bez použití Sn.exe. Ve Visual C++ můžete zadat umístění existujícího souboru klíče v okně Stránky vlastností na stránce Upřesnit vlastnosti v sekci Vlastnosti konfigurace v části Linker. Použití atributu AssemblyKeyFileAttribute k identifikaci párů souborů klíčů bylo zastaralé od Visual Studio 2005.
Vytvoření páru klíčů
Poznámka:
Sn.exe není součástí sady .NET SDK v žádném operačním systému. Je k dispozici jenom na Windows, kde ho získáte instalací Visual Studio nebo sady Windows SDK.
Pokud chcete vytvořit pár klíčů, na příkazovém řádku zadejte následující příkaz:
sn –k<název souboru>
V tomto příkazu je název výstupního souboru obsahujícího dvojici klíčů.
Následující příklad vytvoří dvojici klíčů s názvem sgKey.snk.
sn -k sgKey.snk
Pokud máte v úmyslu podepsat sestavení se zpožděním a ovládáte celý pár klíčů (což je nepravděpodobné mimo testovací scénáře), můžete pomocí následujících příkazů vygenerovat pár klíčů a pak z něj extrahovat veřejný klíč do odděleného souboru. Nejprve vytvořte pár klíčů:
sn -k keypair.snk
Dále extrahujte veřejný klíč z páru klíčů a zkopírujte ho do samostatného souboru:
sn -p keypair.snk public.snk
Jakmile vytvoříte pár klíčů, musíte soubor umístit tam, kde ho mohou najít nástroje pro podepisování silných názvů.
Při podepisování sestavení silným názvem vyhledá Assembly Linker (Al.exe) soubor klíče vzhledem k aktuálnímu adresáři a výstupnímu adresáři. Při použití kompilátorů příkazového řádku můžete jednoduše zkopírovat klíč do aktuálního adresáře obsahujícího moduly kódu.
Pokud používáte starší verzi Visual Studio, která nemá ve vlastnostech projektu kartu Signing, je doporučeným umístěním souboru klíče adresář projektu s atributem souboru zadaným následujícím způsobem:
[assembly:AssemblyKeyFileAttribute("keyfile.snk")];
[assembly:AssemblyKeyFileAttribute("keyfile.snk")]
<Assembly:AssemblyKeyFileAttribute("keyfile.snk")>