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.
Nástroj Silný název (Sn.exe) pomáhá podepisovat sestavení se silnými názvy. Sn.exe poskytuje možnosti pro správu klíčů, generování podpisů a ověřování podpisů.
Výstraha
Nespoléhejte na silné názvy zabezpečení. Poskytují pouze jedinečnou identitu.
Další informace o silném pojmenování a sestavení se silným názvem naleznete v tématu Strong-Named Sestavení a postupy: Podepsání sestavení silným názvem.
Nástroj Strong Name se automaticky nainstaluje se sadou Visual Studio. Pokud chcete nástroj spustit, použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.
Poznámka:
Na 64bitových počítačích spusťte 32bitovou verzi Sn.exe pomocí příkazového řádku pro vývojáře pro Visual Studio a 64bitové verze pomocí příkazového řádku Visual Studio x64 Win64.
Na příkazovém řádku zadejte následující příkaz:
Syntaxe
sn [-quiet][option [parameter(s)]]
Parametry
| Možnost | Description |
|---|---|
-a identityKeyPairFile signaturePublicKeyFile |
AssemblySignatureKeyAttribute Generuje data pro migraci klíče identity do klíče podpisu ze souboru. |
-ac identityPublicKeyFile identityKeyPairContainer signaturePublicKeyFile |
Generuje AssemblySignatureKeyAttribute data pro migraci klíče identity do klíče podpisu z kontejneru klíčů. |
-c [csp] |
Nastaví výchozího zprostředkovatele kryptografických služeb (CSP), který se použije pro podepisování silných názvů. Toto nastavení platí pro celý počítač. Pokud nezadáte název CSP, Sn.exe vymaže aktuální nastavení. |
-d container |
Odstraní zadaný kontejner klíčů z CSP silného názvu. |
-D assembly1 assembly2 |
Ověřuje, že se dvě sestavení liší pouze podpisem. Často se používá jako kontrola po opětovném podepsání sestavení pomocí jiné dvojice klíčů. |
-e assembly outfile |
Extrahuje veřejný klíč ze sestavení a uloží ho do outfile. |
-h |
Zobrazí syntaxi příkazu a možnosti nástroje. |
-i infile container |
Nainstaluje pár klíčů ze souboru infile v zadaném kontejneru klíčů. Kontejner klíčů se nachází v poskytovateli CSP silného názvu. |
-k [keysize] outfile |
Vygeneruje nový RSACryptoServiceProvider klíč zadané velikosti a zapíše ho do zadaného souboru. Veřejný i privátní klíč se zapisují do souboru. Pokud nezadáte velikost klíče, vygeneruje se ve výchozím nastavení 1 024bitový klíč, pokud máte nainstalovaného poskytovatele kryptografických služeb Microsoftu; jinak se vygeneruje 512bitový klíč. Parametr keyize podporuje délky klíčů od 384 bitů do 16 384 bitů v přírůstcích po 8 bitů, pokud máte nainstalovaného poskytovatele kryptografických služeb Microsoftu. Podporuje délky klíčů od 384 do 512 bitů v přírůstcích po 8 bitů, pokud máte nainstalovaného základního zprostředkovatele kryptografických služeb Společnosti Microsoft. |
-m [y or n] |
Určuje, jestli jsou kontejnery klíčů specifické pro počítač nebo specifické pro uživatele. Pokud zadáte y, kontejnery klíčů jsou specifické pro počítač. Pokud zadáte n, kontejnery klíčů jsou specifické pro uživatele. Pokud není zadána hodnota y ani n, zobrazí tato možnost aktuální nastavení. |
-o infile [outfile] |
Extrahuje veřejný klíč ze souboru infile a uloží ho do souboru .csv. Čárka odděluje každý bajt veřejného klíče. Tento formát je užitečný pro pevně kódované odkazy na klíče jako inicializované pole ve zdrojovém kódu. Pokud nezadáte výstupní soubor, umístí tato možnost výstup do schránky.
Poznámka: Tato možnost neověřuje, že vstup je pouze veřejný klíč.
infile Pokud obsahuje pár klíčů s privátním klíčem, privátní klíč se extrahuje také. |
-p infile outfile [hashalg] |
Extrahuje veřejný klíč z dvojice klíčů v souboru infile a uloží ho do outfile, volitelně pomocí algoritmu RSA určeného hashalgem. Tento veřejný klíč lze použít ke zpoždění podepsání sestavení pomocí možností /delaysign+ a /keyfilelinkeru (Al.exe). Pokud je sestavení podepsáno zpožděním, je nastaven pouze veřejný klíč v době kompilace a místo je vyhrazeno v souboru pro podpis, který se má přidat později, když je privátní klíč známý. |
-pc container outfile [hashalg] |
Extrahuje veřejný klíč z páru klíčů v kontejneru a uloží ho do souboru outfile. Pokud použijete možnost hashalg , algoritmus RSA se použije k extrakci veřejného klíče. |
-Pb [y or n] |
Určuje, zda je vynucena zásada obejití silného názvu. Pokud zadáte y, silné názvy pro sestavení s úplným vztahem důvěryhodnosti nejsou při načtení do úplného vztahu důvěryhodnosti AppDomainověřeny . Pokud zadáte n, budou silné názvy ověřeny pro správnost, ale ne pro konkrétní silný název. Nemá StrongNameIdentityPermission žádný vliv na úplná důvěryhodná sestavení. Musíte provést vlastní kontrolu shody silného názvu.y Pokud ani n není zadána, zobrazí tato možnost aktuální nastavení. Výchozí hodnota je y.
Poznámka: Na 64bitových počítačích je nutné nastavit tento parametr v 32bitové i 64bitové instanci Sn.exe. |
-q[uiet] |
Určuje tichý režim; potlačuje zobrazení zpráv o úspěchu. |
-R[a] assembly infile |
Znovu podepíše dříve podepsané nebo pozdržované sestavení pomocí dvojice klíčů v souboru infile. Pokud se použije -Ra , hodnoty hash se přepočítají pro všechny soubory v sestavení. |
-Rc[a] assembly container |
Znovu podepíše dříve podepsané nebo pozdržované sestavení pomocí dvojice klíčů v kontejneru. Pokud se použije -Rca , hodnoty hash se přepočítají pro všechny soubory v sestavení. |
-Rh assembly |
Recomputes hash for all files in the assembly. |
-t[p] infile |
Zobrazí token veřejného klíče uloženého v souboru infile. Obsah souboru infile musí být veřejný klíč dříve vygenerovaný ze souboru páru klíčů pomocí -p. Nepoužívejte možnost -t[p] k extrakci tokenu přímo ze souboru páru klíčů. Sn.exe vypočítá token pomocí funkce hash z veřejného klíče. Modul CLR (Common Language Runtime) ukládá tokeny veřejného klíče v manifestu jako součást odkazu na jiné sestavení, když zaznamenává závislost na sestavení se silným názvem. Možnost -tp zobrazí kromě tokenu veřejný klíč. AssemblySignatureKeyAttribute Pokud byl atribut použit pro sestavení, token je pro klíč identity a zobrazí se název hashovacího algoritmu a klíč identity. Upozorňujeme, že tato možnost neověřuje podpis sestavení a neměl by se používat k rozhodování o důvěryhodnosti. Tato možnost zobrazuje pouze nezpracovaná data tokenu veřejného klíče. |
-T[p] assembly |
Zobrazí token veřejného klíče pro sestavení.Sestavení musí být název souboru, který obsahuje manifest sestavení. Sn.exe vypočítá token pomocí funkce hash z veřejného klíče. Aby se ušetřilo místo, modul runtime ukládá tokeny veřejného klíče v manifestu jako součást odkazu na jiné sestavení, když zaznamenává závislost na sestavení se silným názvem. Možnost -Tp zobrazí kromě tokenu veřejný klíč. AssemblySignatureKeyAttribute Pokud byl atribut použit pro sestavení, token je pro klíč identity a zobrazí se název hashovacího algoritmu a klíč identity. Upozorňujeme, že tato možnost neověřuje podpis sestavení a neměl by se používat k rozhodování o důvěryhodnosti. Tato možnost zobrazuje pouze nezpracovaná data tokenu veřejného klíče. |
-TS assembly infile |
Otestuje podepsané nebo částečně podepsané sestavení pomocí dvojice klíčů v souboru infile. |
-TSc assembly container |
Otestuje podepsané nebo částečně podepsané sestavení pomocí páru klíčů v kontejneru kontejneru klíčů. |
-v assembly |
Ověřuje silný název v sestavení, kde sestavení je název souboru, který obsahuje manifest sestavení. |
-vf assembly |
Ověřuje silný název v sestavení. Na rozdíl od parametru -vf vynutí ověření i v případě, že je zakázána pomocí možnosti -Vr. |
-Vk regfile.reg assembly [userlist] [infile] |
Vytvoří registrační soubor (.reg), který můžete použít k registraci zadaného sestavení pro přeskočení ověření. Pravidla pro pojmenování sestavení, která platí pro možnost -Vr , platí i pro -Vk . Informace o možnostech userlist a infile naleznete v -Vr možnost. |
-Vl |
Uvádí aktuální nastavení pro ověření silného názvu v tomto počítači. |
-Vr assembly [userlist] [infile] |
Zaregistruje sestavení pro přeskočení ověření. Volitelně můžete zadat čárkami oddělený seznam uživatelských jmen, na které se má přeskočit ověření použít. Pokud zadáte infile, ověřování zůstane povolené, ale veřejný klíč v souboru se použije v ověřovacích operacích. Sestavení lze zadat veformuláři *, strongname pro registraci všech sestavení se zadaným silným názvem. Pro strongname zadejte řetězec šestnáctkových číslic představujících tokenizovanou formu veřejného klíče. Zobrazení tokenu veřejného klíče najdete v možnostech -t a -T . Opatrnost: Tuto možnost použijte pouze při vývoji. Přidání sestavení do seznamu pro přeskočení ověření vytvoří ohrožení zabezpečení. Škodlivé sestavení může použít plně zadaný název sestavení (název sestavení, verzi, jazykovou verzi a token veřejného klíče) sestavení přidaného do seznamu pro přeskočení ověření a zfalšovat jeho identitu. To by umožnilo škodlivé sestavení také přeskočit ověření. |
-Vu assembly |
Zruší registraci sestavení pro přeskočení ověření. Stejná pravidla pro pojmenování sestavení, která platí pro -Vr , platí pro -Vu. |
-Vx |
Odebere všechny položky pro přeskočení ověření. |
-? |
Zobrazí syntaxi příkazu a možnosti nástroje. |
Poznámka:
Všechny možnosti Sn.exe rozlišují malá a velká písmena a musí být zadány přesně tak, jak je nástroj rozpozná.
Poznámky
Možnosti -R a -Rc jsou užitečné u sestavení, která byla podepsána zpožděním. V tomto scénáři byl v době kompilace nastaven pouze veřejný klíč a podepisování se provede později, když je privátní klíč známý.
Poznámka:
U parametrů (například -Vr), které zapisují do chráněných prostředků, jako je registr, spusťte SN.exe jako správce.
Nástroj Strong Name předpokládá, že páry veřejného a privátního klíče se generují s identifikátorem AT_SIGNATURE algoritmu. Páry veřejného a privátního AT_KEYEXCHANGE klíče vygenerované pomocí algoritmu vygenerují chybu.
Examples
Následující příkaz vytvoří novou dvojici náhodných klíčů a uloží ji do keyPair.snk.
sn -k keyPair.snk
Následující příkaz uloží klíč do keyPair.snk kontejneru MyContainer v poskytovateli CSP silného názvu.
sn -i keyPair.snk MyContainer
Následující příkaz extrahuje veřejný klíč a keyPair.snk uloží ho do publicKey.snk.
sn -p keyPair.snk publicKey.snk
Následující příkaz zobrazí veřejný klíč a token veřejného klíče obsaženého v publicKey.snk.
sn -tp publicKey.snk
Následující příkaz ověří sestavení MyAsm.dll.
sn -v MyAsm.dll
Následující příkaz odstraní MyContainer z výchozího poskytovatele CSP.
sn -d MyContainer