Instrukcje: tworzenie pary kluczy publiczny-prywatny

Aby podpisać zestaw o silnej nazwie, musisz mieć parę kluczy publicznych/prywatnych. Ta publiczna i prywatna para kluczy kryptograficznych jest używana podczas kompilacji w celu utworzenia zestawu o silnej nazwie. Parę kluczy można utworzyć przy użyciu narzędzia Strong Name (Sn.exe). Pliki par kluczy zwykle mają rozszerzenie snk .

Uwaga

W programie Visual Studio strony właściwości projektu C# i Visual Basic zawierają kartę Podpisywanie , która umożliwia wybranie istniejących plików kluczy lub wygenerowanie nowych plików kluczy bez używania Sn.exe. W programie Visual C++można określić lokalizację istniejącego pliku klucza na stronie Właściwości zaawansowane w sekcji Konsolidator sekcji Właściwości konfiguracji okna Strony właściwości. Użycie atrybutu AssemblyKeyFileAttribute do identyfikowania par plików kluczy zostało wykonane przestarzałe począwszy od programu Visual Studio 2005.

Tworzenie pary kluczy

Aby utworzyć parę kluczy, w wierszu polecenia wpisz następujące polecenie:

sn –k<nazwa pliku>

W tym poleceniu nazwa pliku to nazwa pliku wyjściowego zawierającego parę kluczy.

Poniższy przykład tworzy parę kluczy o nazwie sgKey.snk.

sn -k sgKey.snk

Jeśli zamierzasz opóźnić podpisywanie zestawu i kontrolować całą parę kluczy (co jest mało prawdopodobne poza scenariuszami testowymi), możesz użyć następujących poleceń, aby wygenerować parę kluczy, a następnie wyodrębnić klucz publiczny z niego do oddzielnego pliku. Najpierw utwórz parę kluczy:

sn -k keypair.snk

Następnie wyodrębnij klucz publiczny z pary kluczy i skopiuj go do oddzielnego pliku:

sn -p keypair.snk public.snk

Po utworzeniu pary kluczy należy umieścić plik, w którym można znaleźć narzędzia podpisywania silnej nazwy.

Podczas podpisywania zestawu o silnej nazwie konsolidator zestawów (Al.exe) wyszukuje plik klucza względem bieżącego katalogu i do katalogu wyjściowego. W przypadku korzystania z kompilatorów wiersza polecenia można po prostu skopiować klucz do bieżącego katalogu zawierającego moduły kodu.

Jeśli używasz starszej wersji programu Visual Studio, która nie ma karty Podpisywanie we właściwościach projektu, zalecaną lokalizacją pliku klucza jest katalog projektu z atrybutem pliku określonym w następujący sposób:

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

Zobacz też