Megosztás a következőn keresztül:


Útmutató: Nyilvános-privát kulcspár létrehozása

Ha erős névvel szeretne aláírni egy szerelvényt, rendelkeznie kell egy nyilvános/titkos kulcspárral. Ezt a nyilvános és privát titkosítási kulcspárt a fordítás során használjuk egy erős nevű szerelvény létrehozásához. Kulcspárt az Erős név eszközzel (Sn.exe) hozhat létre. A kulcspárfájlok általában .snk kiterjesztéssel rendelkeznek.

Feljegyzés

A Visual Studióban a C# és a Visual Basic projekttulajdonságok lapjai olyan Aláírás lapot tartalmaznak, amely lehetővé teszi a meglévő kulcsfájlok kiválasztását, vagy új kulcsfájlok létrehozására Sn.exe használata nélkül. A Visual C++-ban megadhatja egy meglévő kulcsfájl helyét a Tulajdonságlapok ablak Konfiguráció tulajdonságai szakaszÁnak Hivatkozáskezelő szakasza Speciális tulajdonság lapján. A Visual Studio 2005-től kezdve elavulttá vált a AssemblyKeyFileAttribute kulcsfájl-párok azonosítására szolgáló attribútum használata.

Kulcspár létrehozása

Kulcspár létrehozásához írja be a következő parancsot egy parancssorba:

sn –k<fájlnév>

Ebben a parancsban a fájlnév a kulcspárt tartalmazó kimeneti fájl neve.

Az alábbi példa egy sgKey.snk nevű kulcspárt hoz létre.

sn -k sgKey.snk

Ha késleltetni szeretné egy szerelvény aláírását, és a teljes kulcspárt vezérli (ami nem valószínű, hogy a tesztforgatókönyveken kívül esik), az alábbi parancsokkal létrehozhat egy kulcspárt, majd kinyerheti belőle a nyilvános kulcsot egy külön fájlba. Először hozza létre a kulcspárt:

sn -k keypair.snk

Ezután bontsa ki a nyilvános kulcsot a kulcspárból, és másolja egy másik fájlba:

sn -p keypair.snk public.snk

A kulcspár létrehozása után el kell helyeznie azt a fájlt, ahol az erős névaláíró eszközök megtalálják.

Ha erős névvel ír alá egy szerelvényt, a szerelvény-összekapcsoló (Al.exe) az aktuális könyvtárhoz és a kimeneti könyvtárhoz képest keresi a kulcsfájlt. Parancssori fordítók használatakor egyszerűen átmásolhatja a kulcsot a kódmodulokat tartalmazó aktuális könyvtárba.

Ha a Visual Studio olyan korábbi verzióját használja, amely nem tartalmaz Aláírás lapot a projekt tulajdonságai között, a javasolt kulcsfájl helye a projektkönyvtár, amelynek fájlattribútumát az alábbiak szerint adja meg:

[assembly:AssemblyKeyFileAttribute("keyfile.snk")];
[assembly:AssemblyKeyFileAttribute("keyfile.snk")]
<Assembly:AssemblyKeyFileAttribute("keyfile.snk")>

Lásd még