Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Erős név eszköz (Sn.exe) segítségével erős neveket tartalmazó szerelvényeket írhat alá. Sn.exe a kulcskezelés, az aláírásgenerálás és az aláírás-ellenőrzés lehetőségeit kínálja.
Figyelmeztetés
A biztonság érdekében ne támaszkodjanak erős nevekre. Csak egyedi identitást biztosítanak.
Az erős elnevezésről és az erős névvel ellátott szerelvényekről további információt Strong-Named Szerelvények és útmutató: Szerelvény aláírása erős névvel című témakörben talál.
Az Erős név eszköz automatikusan telepítve van a Visual Studióval. Az eszköz elindításához használja a Visual Studio fejlesztői parancssorát vagy a Visual Studio Developer PowerShellt.
Megjegyzés:
64 bites számítógépeken futtassa a Sn.exe 32 bites verzióját a Visual Studio fejlesztői parancssorával és a 64 bites verzióval a Visual Studio x64 Win64 parancssorával.
A parancssorba írja be a következőket:
Szemantika
sn [-quiet][option [parameter(s)]]
Paraméterek
| Lehetőség | Description |
|---|---|
-a identityKeyPairFile signaturePublicKeyFile |
AssemblySignatureKeyAttribute Adatokat hoz létre az identitáskulcs fájlból az aláírási kulcsba való migrálásához. |
-ac identityPublicKeyFile identityKeyPairContainer signaturePublicKeyFile |
AssemblySignatureKeyAttribute Adatokat hoz létre az identitáskulcs kulcstárolóból az aláírási kulcsba való migrálásához. |
-c [csp] |
Beállítja az alapértelmezett titkosítási szolgáltatót (CSP) az erős névaláíráshoz. Ez a beállítás a teljes számítógépre vonatkozik. Ha nem ad meg CSP-nevet, Sn.exe törli az aktuális beállítást. |
-d container |
Törli a megadott kulcstárolót az erős CSP névből. |
-D assembly1 assembly2 |
Ellenőrzi, hogy két összeállítás csak aláírással tér el egymástól. Ezt gyakran használják ellenőrzésként, miután egy szerelvényt újra aláírtak egy másik kulcspárt használva. |
-e assembly outfile |
Kinyeri a nyilvános kulcsot a szerelvényből , és outfile-ban tárolja. |
-h |
Megjeleníti az eszköz parancsszintaxisát és beállításait. |
-i infile container |
Telepíti a kulcspárt a megadott kulcstárolóban lévő infile-ból . A kulcstároló az erős CSP névben található. |
-k [keysize] outfile |
Létrehoz egy új RSACryptoServiceProvider kulcsot a megadott méretből, és beírja a megadott fájlba. A rendszer mind a nyilvános, mind a titkos kulcsot a fájlba írja. Ha nem ad meg kulcsméretet, a rendszer alapértelmezés szerint 1024 bites kulcsot hoz létre, ha telepítve van a Microsoft továbbfejlesztett titkosítási szolgáltatója; ellenkező esetben egy 512 bites kulcs jön létre. A kulcsosítási paraméter 384 bittől 16 384 bitig, 8 bites lépésekben támogatja a kulcshosszokat, ha telepítve van a Microsoft továbbfejlesztett titkosítási szolgáltatója. 384 bittől 512 bitig tartó kulcshosszt támogat 8 bites lépésekben, ha telepítve van a Microsoft alapszintű titkosítási szolgáltatója. |
-m [y or n] |
Megadja, hogy a kulcstárolók számítógép-specifikusak vagy felhasználóspecifikusak-e. Ha y értéket ad meg, a kulcstárolók számítógépspecifikusak. Ha n értéket ad meg, a kulcstárolók felhasználóspecifikusak. Ha sem y, sem n nincs megadva, ez a beállítás megjeleníti az aktuális beállítást. |
-o infile [outfile] |
Kinyeri a nyilvános kulcsot a fájlból , és egy .csv fájlban tárolja. A nyilvános kulcs minden bájtját vessző választja el egymástól. Ez a formátum akkor hasznos, ha a forráskódban inicializált tömbként hivatkozik a kulcsokra. Ha nem ad meg outfile-t, ez a beállítás a kimenetet a vágólapra helyezi.
Jegyzet: Ez a beállítás nem ellenőrzi, hogy a bemenet csak nyilvános kulcs-e. Ha a infile kulcspár titkos kulccsal rendelkezik, a titkos kulcs is ki lesz nyerve. |
-p infile outfile [hashalg] |
Kinyeri a nyilvános kulcsot a kulcspárból a fájlban , és outfile-ban tárolja, opcionálisan a hashalg által megadott RSA-algoritmus használatával. Ezzel a nyilvános kulccsal késleltetheti a szerelvény aláírását a Assembly Linker (Al.exe)/delaysign+ és /keyfile beállításaival. Ha egy szerelvény késéssel van aláírva, csak a nyilvános kulcs van beállítva fordítási időpontban, és a titkos kulcs ismerete után a fájlban helyet foglal le az aláírás hozzáadásához. |
-pc container outfile [hashalg] |
Kinyeri a nyilvános kulcsot a kulcspárból a tárolóban , és outfile-ban tárolja. Ha a hashalg lehetőséget használja, a nyilvános kulcs kinyeréséhez az RSA-algoritmust használja. |
-Pb [y or n] |
Megadja, hogy az erős név megkerülő házirendje kényszerítve van-e. Ha y értéket ad meg, a teljes megbízhatóságú szerelvények erős nevei nem lesznek érvényesítve a teljes megbízhatósági AppDomainkapcsolatba való betöltéskor. Ha n értéket ad meg, a rendszer ellenőrzi az erős neveket a helyesség szempontjából, de egy adott erős névre nem. Ez StrongNameIdentityPermission nincs hatással a teljes megbízhatósági szerelvényekre. Az erős névegyeztetés érdekében saját ellenőrzést kell végeznie. Ha nincs megadva és n nincs y megadva, ez a beállítás megjeleníti az aktuális beállítást. Az alapértelmezett érték a y.
Jegyzet: 64 bites számítógépeken ezt a paramétert a Sn.exe32 bites és 64 bites példányaiban is be kell állítani. |
-q[uiet] |
Csendes módot ad meg; letiltja a sikeres üzenetek megjelenítését. |
-R[a] assembly infile |
Írja alá újra a korábban aláírt vagy késleltetett szerelvényt a kulccsal a fájlban. Ha -Ra van használatban, a rendszer újrafordítást alkalmaz a szerelvény összes fájljának kivonataihoz. |
-Rc[a] assembly container |
Írja alá újra a korábban aláírt vagy késleltetett szerelvényt a tároló kulcspárjával. Ha -Rca van használatban, a rendszer újrafordított kivonatokat ad vissza a szerelvény összes fájlja számára. |
-Rh assembly |
Újrafordítja a kivonatokat a szerelvény összes fájlja esetében. |
-t[p] infile |
Megjeleníti a fájlban tárolt nyilvános kulcs jogkivonatát. A fájl tartalmának olyan nyilvános kulcsnak kell lennie, amely korábban a -p használatával létrehozott kulcspárfájlból jött létre. Ne használja a -t[p] lehetőséget a jogkivonat közvetlen kinyeréséhez egy kulcspárfájlból. Sn.exe a jogkivonatot a nyilvános kulcs kivonatfüggvényével számítja ki. A helytakarékosság érdekében a közös nyelvi futtatókörnyezet a nyilvános kulcs jogkivonatait egy másik szerelvényre való hivatkozás részeként tárolja a jegyzékben, amikor egy erős nevű szerelvény függőségét rögzíti. A -tp beállítás a jogkivonat mellett a nyilvános kulcsot is megjeleníti. Ha az AssemblySignatureKeyAttribute attribútumot alkalmazták a szerelvényre, a jogkivonat az identitáskulcshoz tartozik, és megjelenik a kivonatoló algoritmus és az identitáskulcs neve. Vegye figyelembe, hogy ez a beállítás nem ellenőrzi a szerelvény aláírását, és nem használható megbízhatósági döntések meghozatalára. Ez a beállítás csak a nyers nyilvánoskulcs-jogkivonat adatait jeleníti meg. |
-T[p] assembly |
Megjeleníti a szerelvényhez tartozó nyilvános kulcs jogkivonatát. A szerelvénynek egy szerelvényjegyzéket tartalmazó fájl nevének kell lennie. Sn.exe a jogkivonatot a nyilvános kulcs kivonatfüggvényével számítja ki. A helytakarékosság érdekében a futtatókörnyezet egy másik szerelvényre való hivatkozás részeként tárolja a nyilvános kulcs jogkivonatait a jegyzékben, amikor egy erős nevű szerelvény függőségét rögzíti. A -Tp beállítás a jogkivonat mellett a nyilvános kulcsot is megjeleníti. Ha az AssemblySignatureKeyAttribute attribútumot alkalmazták a szerelvényre, a jogkivonat az identitáskulcshoz tartozik, és megjelenik a kivonatoló algoritmus és az identitáskulcs neve. Vegye figyelembe, hogy ez a beállítás nem ellenőrzi a szerelvény aláírását, és nem használható megbízhatósági döntések meghozatalára. Ez a beállítás csak a nyers nyilvánoskulcs-jogkivonat adatait jeleníti meg. |
-TS assembly infile |
Tesztelje az aláírt vagy részben aláírt szerelvény aláírását a kulcspárnal a fájlban. |
-TSc assembly container |
Tesztelje az aláírt vagy részben aláírt szerelvényt a kulcspárral a kulcstárolóban. |
-v assembly |
Ellenőrzi az erős nevet a szerelvényben, ahol a szerelvény egy szerelvényjegyzéket tartalmazó fájl neve. |
-vf assembly |
Ellenőrzi az erős nevet a szerelvényben. A -v beállítástól eltérően a -vf akkor is kényszeríti az ellenőrzést, ha az le van tiltva a -Vr beállítással. |
-Vk regfile.reg assembly [userlist] [infile] |
Létrehoz egy regisztrációs bejegyzésfájlt (.reg) a megadott szerelvény regisztrációjához az ellenőrzés kihagyásához. A -Vr beállításra vonatkozó szerelvény-elnevezési szabályok a -Vk-ra is érvényesek. A felhasználói listával és a fájlbeállításokkal kapcsolatos információkért tekintse meg a -Vr lehetőséget. |
-Vl |
A számítógépen az erős név ellenőrzésének aktuális beállításait sorolja fel. |
-Vr assembly [userlist] [infile] |
Regisztrálja a szerelvényt az ellenőrzés kihagyására. Igény szerint megadhatja azoknak a felhasználóneveknek a vesszővel tagolt listáját, amelyekre a kihagyás ellenőrzésének vonatkoznia kell. Ha be van állítva a fájl, az ellenőrzés engedélyezve marad, de a rendszer a nyilvános kulcsot használja a fájlban az ellenőrzési műveletekben. A szerelvényt *, strongname formátumban adhatja meg, ha az összes szerelvényt a megadott erős névvel szeretné regisztrálni. A strongname mezőben adja meg a nyilvános kulcs jogkivonatos formáját képviselő hexadecimális számjegyek sztringét. A nyilvános kulcs jogkivonatának megjelenítéséhez tekintse meg a -t és a -T beállításokat. Figyelmeztet: Ezt a lehetőséget csak a fejlesztés során használhatja. Ha egy szerelvényt hozzáad a kihagyó ellenőrző listához, biztonsági rés jön létre. Egy rosszindulatú szerelvény használhatja a szerelvény teljes szerelvénynevét (szerelvény nevét, verzióját, kulturális környezetét és nyilvános kulcsjogkivonatát) a kihagyó ellenőrző listához hozzáadva, hogy meghamisíthassa az identitását. Ez lehetővé tenné, hogy a rosszindulatú szerelvény kihagyja az ellenőrzést is. |
-Vu assembly |
Törölje a szerelvény regisztrációjának megszüntetését az ellenőrzés kihagyása érdekében. A -Vr-ra vonatkozó szerelvény-elnevezési szabályok a -Vu-ra is érvényesek. |
-Vx |
Eltávolítja az összes ellenőrző-kihagyó bejegyzést. |
-? |
Megjeleníti az eszköz parancsszintaxisát és beállításait. |
Megjegyzés:
Minden Sn.exe beállítás megkülönbözteti a kis- és nagybetűket, és pontosan úgy kell begépelni, ahogyan azt az eszköz felismeri.
Megjegyzések
Az -R és a -Rc beállítás a késleltetett aláírású szerelvények esetében hasznos. Ebben a forgatókönyvben csak a nyilvános kulcs lett beállítva fordításkor, és az aláírás később történik, amikor a titkos kulcs ismert.
Megjegyzés:
Az olyan paraméterek (például -Vr) esetében, amelyek védett erőforrásokba, például a beállításjegyzékbe írnak, rendszergazdaként futtassa a SN.exe.
Az Erős név eszköz feltételezi, hogy a nyilvános/privát kulcspárok az AT_SIGNATURE algoritmusazonosítóval jönnek létre. Az algoritmussal AT_KEYEXCHANGE létrehozott nyilvános/privát kulcspárok hibát okoznak.
Példák
Az alábbi parancs létrehoz egy új, véletlenszerű kulcspárt, és tárolja a következőben keyPair.snk: .
sn -k keyPair.snk
Az alábbi parancs a kulcsot a tárolóban keyPair.snkMyContainer tárolja az erős CSP névben.
sn -i keyPair.snk MyContainer
Az alábbi parancs kinyeri a nyilvános kulcsot, keyPair.snk és abban tárolja azt publicKey.snk.
sn -p keyPair.snk publicKey.snk
Az alábbi parancs megjeleníti a nyilvános kulcsot és a benne található nyilvános kulcs jogkivonatát publicKey.snk.
sn -tp publicKey.snk
Az alábbi parancs ellenőrzi a szerelvényt MyAsm.dll.
sn -v MyAsm.dll
Az alábbi parancs törli MyContainer az alapértelmezett CSP-ből.
sn -d MyContainer